Changed component name and structure

I've made considerable changes here.

- Firstly renaming the component to filesystem-resolver in line with other components we have.
- Secondly, I thought it prudent to break out classes and interfaces a little. I don't know why really.
- I had to change the tests anyway, as they always failed locally for me, changing them like they are (even before the breaking out of classes), they always pass.

@psychoticmeow what are your thoughts?