add hooks to select2 to allow search saving

when a selection is made, save the text field. afterwards, fill it with the values again. allows for the same term to be used multiple times
update select2 to handle highlighting multiple matches

basic array traversal, underlines matches non-case-specific, tokenises by space
previously, would only match if exact search strhing found. Works well with tokenised searching (like chevalier)
increase timeout before starting select2 search
Use quietMillis in the right place, for the first time
Sort search results by text
Turn select2 in-input into table

instead of making li pills, add them to a table as divs. keep the classes the same because select2 creates events based on these. move the select dropdown to a col6 and the selected to another col6. force modal size.

very VERY much a quick friday arvo hack, work in progress
have loading more results as unobtrusive spinner instead of a new line item

formatLoadMore requires text and not a space to work. change font colour to remove dot from listing?
pry calls do not belong in commits.
Merge branch 'master' into js_improvements

Conflicts:
	app/views/partial/sidenav/_metric_search_modal.html.erb
remove li to div transferring
Merge branch 'master' into js_improvements
Rectify issues with nanobar

The duplicate nanobar issue occurs when two functions invoke 'go(100)'
at the same time, which was the case when updating via `updateProgress`
and `doneProgress()`. Have consolidate logic to update progress on
rickshaw-based graphs when it's known to not be complete.

Also added nanobar functionality to horizon by adding optional callback
function parameter to the machiavelli source metric. Also implemented
the functionality to have updates even when a counter isn't invoked by
the graph type. This might get messy later, but for now it assumes that
gon.metrics.length exists and that the update will only be invoked once
per graph update.

Also added logic that surpresses updates when the percentage is over
100%, which occurs during autoplaying of data on horizon charts (no way
to invoke on first call only)
move standard graph close link to right of title
Correct issues with resizing of width on Rickshaw Preview

In util.js, don't hardcode a height (bug)

In vender rickshaw.js, correct some functionality to do with defaulting
sizes and establishing the preview sizes from changed configs.

In effect: either default height or set height makes no rendering errors
on width resizing.

Does not work in all cases however: logic doesn't allow for having no
default height/width and then setting one, since the magic
"(height|width)FromGraph" variable is only set once on create. Outside
of the scope of this fix.
Do not create a slider if no graphs were successfully rendered
Add remove link to stacked legend
change side by side legend to one above the other legend.

could do with a bit more UI fixing
Remove saved search recall (forked in branch js_feature_searchrecall)
Cache the title and metadata of a metric once
Bump version

[ci skip]