Changing how File objects are saved and restored

Before the _.clone would copy an object without a `contents` property but
it did have `_contents`.  This didn't work well at all when it was
restored, especially with gulp-concat.

This patch will restore actual File objects.

Also removed an unused variable and will now produce an error when
encountering a stream.

THIS PATCH BREAKS TESTS!  It works fine for me in real life, but I
don't understand the test system well enough to know how I broke the
tests.
Removing vinyl as a dependency
Fixing up unit tests

- Restore any properties that the original task put on the file
- Switch back to contents or _contents sniffing
- Add isStream check to actual cache function
Bump version to 0.1.9

[ci skip]