feat(subheader): add subheader component

This implements #216.

As per suggestion from @matsko, uses native position: sticky when possible, otherwise uses a javascript implementation using the new $materialSticky service.

A new directive material-sticky is also exposed, which uses the $materialSticky service.

This pull request also makes the material-subheader create a h2 for accessibility purposes as per @marcysutton's suggestion. Subsequently, it ups the h2 and h3 in material-list-item to h3 and h4 respectively.

Commit messages have been squashed

Would love suggestions from @ajoslin on ideas for testing $materialSticky service, or anyone else who has ideas.

Also does anyone have opinion on whether we want to document material-sticky directive / $materialSticky service for usage on the docs?

Do we need this specific of a selector? The more specific, the harder for the end-user to override?

We should either just have `h2` or just have `.material-subheader`.