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 Pane
      </tab>
      <tab ng-repeat="apple in basket" heading="{{apple.heading}}">
        {{apple.content}}
      </tab>
    </tabset>