Add caching of ContextDict via context manager and decorator

Plus some leftover changes that didn't get to github master before:

Improve version implementation and fix bug in multi-basedirs.
- Version is now defined only in pyyaks.__init__
- Fix problem setting basedir - was not splitting by ":"
  before applying abs_path.