Refactor osquery::fileystem to use boost::filesystem::path rather than std::string

This changes the `filesystem.h` headers and implementation to use `boost::fileystem::path` where it makes sense.

Compilation and all unit tests pass.

This is the first step in #347, next steps would be to refactor other internals to take advantage of this refactor.