When object or container methods are called with clearly invalid path
elements, raise a useful error mesasge.  Previous behavior would've
resulted in potentially valid yet incorrect API calls. We don't want
this to be able to happen.

Thanks to @smashwilson for catching this one.
Merge pull request #8 from elight/path_validation

Validate user-provided paths