Jquery update migration (Part 1 of n)

First step in upgrading jquery and related libraries.

This PR introduces an update to jquery along with the jquery migration library which should allow anything not using jquery's internal API (which nothing _should_ be) to function as before.

There were a small number of places where internal jQuery functions were being used, this patch also fixes those.

jQuery UI did use jQuery internals though so that has to be upgraded simultaneously.

Some API changes in jQuery UI have forced changes in our code, this patch includes fixes for those as well. Tabs and Tooltip usage were the two areas in which this was necessary.

The intent is to make use of the migration library to ease the path of jquery upgrade so that the entire upgrade isn't a single PR. This process will complete with the removal of the migration library.

This is a lot of changes, I am expecting there to be many problems to be addressed rather than a simple review and merge. Bear in mind that I have intentionally not fixed any existing problems in this PR in order to compartmentalise what would otherwise be a enormous PR both in terms of code changes and functionality. I am also aware that there are warnings from the migration library that are caused by other libraries, those will be addressed when those libraries are updated.

It may require a _breaking_ tag, but hopefully shouldn't.

Trello Link: https://trello.com/c/tly4JAme/63-jstree-3

Testing
----------
There are no specific testing instructions because this is largely a library update. Ideally all facets of the web client would be tested. Multiple browsers would also be a good idea.
If the code is not used why not remove it?