Created new branch arff_datatype
Add Arff datatype class with sniffer and metadata.
Add Arff datatype and sniffer to datatypes_conf.xml.
Activate arff datatype by default
Merge pull request #614.
More centralization of code for registering tools in ToolBox.
Introduce new abstraction of tool lineages.

 - Don't force non-toolshed tools into the tool shed install database.
 - Abstract out dealing with the tool shed install database from toolbox, to potentially allow other tool lineages implementations.
Introduce ToolPanel abtraction.

There are some repeated operations on an odict in Toolbox that could be cleaned up (fewer lines of code, more readable) with new abstraction in place. Starting with __add_tool_to_tool_panel but will work its way to other methods in Toolbox eventually.

Abstraction reduces cyclomatic complexity of Toolbox.__add_tool_to_tool_panel from 23 down to 18.
Simplify toolbox.load_tool_tag_set method.

guid is taken as input but is always produced the same way from the same input, so just derive it inside the method instead.
Move more logic into ToolSectionElements, raising level abstraction in Toolbox.
Replace another repeated idiom in Toolbox with higher level method in toolbox.panel.
Improved unit testing support for unit tests.
Update ToolBox tool registration to support multiple tool versions per id.
Rebase into tool lineages.
WIP: tool lineage