Implement dynamic toolbox filters.

Overview: Right now these must be implemented by righting python code, but one could certainly implement a higher level configuration mechanism on top of this one. Added well documented lib/galaxy/tools/filters/examples.py.sample file that outlines the implementations of some possible filters and how to configure them in universe_wsgi.ini.

Implementation: Refactored Toolbox.to_dict and remove Tool._is_hidden_for_user, moving and unifying all filter building functionality into tools/filters/__init.py. Implemented new dynamic filters for tools, labels, and sections. Multiple such filters can be specified by giving module (relative to galaxy.tools.filters) and function names for each as comma seperated list to the respective options tool_filters, tool_label_filters, and tool_section_filters in universe_wsgi.ini. Explicit example lines to add to universe_wsgi.ini can be found in examples.py.sample (described above).

WARNING: This mechanism only controls what tools are visible to the user. I imagine a savy user could call any tool by building custom requests or utilizing the API, to truely block users from accessing certain tools I recommend using the dynamic job runners to restrict the actual execution of tools by users.