Ui: Update Fontawesome, ToolForm: Add tool version handling
ToolForm: Add tool requirement details
Ui: Allow portlet elements without paragraph wrapping
ToolForm: Fix typo
Scratchbook: Fix renamed resize icon
ToolForm: Update tool tips
ToolForm: Show labels for menu bar buttons
Ui: Minor style fix, Charts: Repack scripts
ToolForm: Activate tool form
ToolForm: Hide current version from version selector
force_history_refresh does nothing so I am just setting it False in tool.
(TODO: Update planemo linter to mark this as a problem.)
Small PEP-8 fix for Tool.parse_inputs.
Unit testing explicitly related to parsing of XML for parameters.
Cleans up some existing tests and does some de-duplication as well.
Tools: Outline abstractions for ripin tool XML parsing out of galaxy.tools.Tool.

First part of a long process - this handles outlining a couple parsers and setting everything up to pass the parser into Tool.

Long term this should allow us to support (in core - if not the whole ecosystem) - multiple tooling formats (YAML, CWL, etc...). But it is also important from a purely design perspective - this core logic class should not be doing XML parsing.

As part of this I am building a test YAML tool description - but it cannot yet be loaded by Galaxy and should not be considered part of Galaxy's interface - it is there just to test two implementations are possible - obviously a broader design discussion would need to happen before we support a new YAML tool format going forward.
Tools: Parse name, id, and version using tool source abstraction...

instead of XML directly.
Tools: Parse is_multi_byte from tool source instead of from XML directly.
Tools: Parse display_interface from tool source instead of XML directly.
Tools: Parse require_login from tool source instead of from XML directly.
Tools: Refactor request parameter translation for new tool_source abstraction.

Interface itself relies on producing an XML element still - but it is optional - so we don't need to modify the interface until we want to allow data sources to be non-XML (less interesting than tools more generally I suppose).
Tools: Parse command and interpreter from tool_source instead of XML directly.