A common mistake in using the BasePathFs is to give it a real
OS absolute file path instead of a virtual one relative to the virtual base.
This commit adds some tests and returns an error on Windows in this case.
On Unix we have to train the users to do a better job.
See https://github.com/spf13/hugo/issues/1800
* add a BasePathFs implemented as FilterFs:
The BasePathFs restricts all operations to a given path within an Fs.
The given file name to the operations on this Fs will be prepended
with the base path before calling the base Fs.
Any file name (after filepath.Clean()) outside this base path will be
treated as non existing file.
* fix meaning of "facere" - "facio" means "I do", "facere" is the base
form