(PUP-716) Refactor and mae file_system/file_spec green

This refactors the file_system/file_spec to comply with the new API.
Several problems found with the implementation.

* Bad include of memory_impl
* facade methods did not relay to _impl
* assert_path did not consider objects coercable to string
  (e.g.watched file)