refactor(tabs): Change syntax, add features

* Rename  `<tabs>` directive to `<tabset>`, and directive `<pane>` to `<tab>`.
 The new syntax is more intuitive; The word pane does not obviously
 represent a subset of a tab group. (Closes #186)
* Add `<tab-heading>` directive, which is a child of a `<tab>`. Allows
HTML in tab headings. (Closes #124)
* Add 'select' attribute callback when tab is selected. (Closes #141)
* Tabs now transclude to title elements instead of content elements, so
 the so the ordering is always correct. (Closes #153)
* Only the active tab's content is now actually ever in the DOM. This is
 an unintended bonus of transcluding to title elements, and improves
 performance.

BREAKING CHANGE: The `<tabs>` directive has been renamed to `<tabset>`, and
    the `<pane>` directive has been renamed to `<tab>`.

    To migrate your code, follow the example below.

    Before:

    <tabs>
      <pane heading="one">
        First Content
      </pane>
      <pane ng-repeat="apple in basket" heading="{{apple.heading}}">
        {{apple.content}}
      </pane>
    </tabs>

    After:

    <tabset>
      <tab heading="one">
        First Content
      </tab>
      <tab ng-repeat="apple in basket" heading="{{apple.heading}}">
        {{apple.content}}
      </tab>
    </tabset>