Wrap file in python object to allow run-time extensions by Format classes

As is exemplified in the unit test included here, this allows you to set new properties and methods on the pipe object passed to a `Format`. This is already possible on luigi-generated pipes, but notably has not been possible on `file` objects as are generated for LocalTarget/File objects on `open('r')`.
This will allow for less boiler plate when creating new `Format`s by injecting methods.