filesystem::error refactoring.
error_manip implementation.
error refactoring + interface bug fix.

Chaining member functions return bunsan::error,
which is argument to template boost::throw_exception().
This behavior is not desired because actual exception type is lost.
error_manip specializations solve that problem.