Make hgfs awesome

This pull request adds the optimizations that were recently added to gitfs (env/file lists caching, etc) to hgfs.

In addition, this fixes two bugs I discovered in the process of this rewrite:
* Improper detection of bookmark-based envs
* Files outside of the ``hgfs_root`` being made available using parent directory notation (i.e. ``salt://../path/to/file``)

Finally, this adds the ``hgfs_base`` parameter, to match ``gitfs_base``.

(It also adds ``gitfs_base`` and all the hgfs config params to the docs, since they were missing)


@thatch45 I have marked these changes as available in 2014.1.0. Let me know if you think they should wait and I will modify those ``.. versionadded::`` directives. As this fixes two bugs though, it might be a good idea to release it with 2014.1.0, and that is my recommendation.