Support Flysystem

I had time so I took the liberty to polish a bit @Baachi's PR #201.

I'll clean the commits once the code review is done (cc @ftassi).