Implement filesystem services, and the required kernel objects.

I’ll keep unique_ptr, it works fine and is quite understandable. :)