chore(filesystem): Convert filesystem to Gaufrette and add tests

Flysystem requires PHP 5.4 and we're not *quite* ready for that just yet...
Merge pull request #7132 from ewinslow/gaufrette

chore(filesystem): Convert filesystem to Gaufrette and add tests