refactor(tabs): Change syntax, add features

* Rename '<tabs>' to '<tabset>', '<pane>' to '<tab>'. The new syntax is
 more clear; '<pane>' is not intuitively a subset of '<tabs>'. (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> and <tab> directives have been renamed to
    <tabset> and <tab>.

    To migrate the 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>