File CRUD operations

* File create, delete, and get added.
* #get still needs a way to get the body and metadata at the same
   time. But also other response headers. May need a separate object for
   this–possibly a library-specific response object
* Not pleased with how Client#request is growing in complexity to handle
  various edges. More abstraction needed there.
This line and the optional scoping arg in the initializer make me a bit sad. However, with the more stateless approach, it's necessary as the `Files` instance is not tied to a particular container.  That binding only occurs within the actual method call now as the container name is an argument to the GET.