History.js improvements

This work originated when discovering issues with dots in search queries, causing an incorrect redirect. This was the same issue as the one we saw when using forward slashes in search queries, which was solved by filtering out the slashes.

The root of the issue was History.js on the one hand and bbq and hashchange on the other hand not playing well together. Therefore, this PR brings full History.js usage, which allows us to remove bbq and hashchange, and creates nicer URLs. It also allows us to undo the slash filtering approach.

This PR includes:

- Use History.js for search (and type refinements)
- Use History.js for lhnavigation
- Use History.js for admin UI
- Use History.js for docs UI
- Use History.js for library, memberships and participants widgets
- Introduce jquery URL parser for easier URL parsing
- Use URL parser for content.js and group.js
- General clean-up of docs UI
- Full-width docs UI
- Remove bbq and hashchange
- Fix a number of issues with back and forward button behavior

Note: History.js is quite challenging to use and understand, so I'd welcome some additional functional test, given how many core parts of the UI this touches.