Add document level events to selection buttons

The current version of `GOVUK.selectionButtons` (see https://github.com/alphagov/govuk_frontend_toolkit/pull/121) works by taking a jQuery-wrapped collection of DOM nodes as the first parameter, and binding events to them:

```
var $buttons = $("label input[type='radio'], label input[type='checkbox']");
GOVUK.selectionButtons($buttons);
```

This sometimes doesn't work on pages where the HTML is replaced by AJAX because the elements those events are bound to may no longer be in the page.
This pull request (PR) makes a new version called `GOVUK.SelectionButtons` which has the ability to take a [selector string](http://api.jquery.com/category/selectors/) instead, which it uses to assign a [live event](http://api.jquery.com/live/) to the document:

```
var selectionButtons = new GOVUK.SelectionButtons("label input[type='radio'], label input[type='checkbox']");
```

This means once you've called `GOVUK.selectionButtons`, any changes to the content of the page will not effect the functionality. This is backwards-compatible, the existing interface is still supported.

This PR also includes a new `destroy` method for clean-up of the events it creates:

```
selectionButtons.destroy();
```

In addition, the tests for selection-buttons have been rewritten. The previous ones were too tied to the implementation and didn't describe the requirements very well.
`this.setInitialState($(this.selector));` can be `this.setInitialState($elms);` as you have already created the jQuery object.