Properly handle empty and missing paths when building TreeWalks

TreeWalk.forPath may behave in two ways we weren't handling correctly:
 -throws IllegalArgumentException when the path passed in was empty.
 -returns null when the path is not found.

Validate inputs and outputs where this method is used.

Change-Id: I63d33a9fc6e5d56265dc3a96b7d6d6585a8ae2de
2 files changed