Propagate the fragment identifier to the documentation version switcher.

Since the URL fragment identifier (the stuff afer a `#` in the URL) is not passed to the server, the version switcher loses this information when the links are generated in the template engine.

This means that when you follow a link that contains a fragment identifier and want to switch versions, you either:
* switch versions in the URL manually and keep the fragment
* use the version switcher and have to find where you were in the page

This PR uses some javascript to go and append `window.location.hash` to all the links inside the version switcher.

If an older version doesn't have a paragraph associated with the fragment identifier, then nothing happens (which is consistent with the previous behavior).