gras: make ptree usage optional on old boosts
gras: work on module loading and python factory

naming convention, path convention, env var convention,

And, make a python factory -- but its a little halfassed.
You see, we didnt do the swig director thing yet,
so C++ cant yet create python blocks from the factory.
gras: dont need native path here, boost fs can handle it
gras: added arg check with nice warning to callable and factory
gras: just warn if the factory is already registered
gras: factory docstrings -- more realistic example
gras: squashed tool work with changes
gras: fixed typo on exceptions
gras: added more vars to gras tools
gras: created GRAS_SWIG_TOOL to help registering new types
gras: make the target location global scope
gras: simplfy factory w/ macros and namespace
gras: use common test utils for all
gras: rename some factory functions
gras: copied common defs into a new cmake file
gras: added helpful gr python module to install
gras: export a GRAS_TOOL_MODULE_PATH from TOOL
gras: update submodules
Merge branch 'gras_tool3'