Error updates

This PR is to throw more specifically typed exceptions in for several cases - most notably when objects cannot be found or cannot be dereferenced to a commit.

The second commit is to add an exception to indicated an exception case around the Pull operation.