fix(tabs): don't select tabs on destroy

Fixes #2155

Closes #2596
test(tabs): don't select tabs when being destroyed

Closes #2763
fix(dropdown): compatibility with $location url rewriting

Fixes #2343
docs(README): Removed unnecessary string replacements

If `.html` is removed from the end only to be added to the end, there's no reason to touch it. Also, `template` + `/` is the same as `template/`.

I haven't tested this, but I see absolutely no reason why this code isn't the same functionally.

Closes #2635
docs(CHANGELOG): fix commit SHA link
docs(CONTRIBUTING): fix markdown link syntax

Closes #2819
docs(modal): typo in comment: loose > lose

Closes #2817
docs: add links to FAQ
demo(carousel): fix a link to first cat image

Fixes #2841
fix(datepicker): correct button alignment when using bootstrap v3.2.0

Closes #2728
docs(alert): use monospace format for code references

Closes #2850
fix(tooltip): don't use an empty transclusion fn

Closes #2825
fix(typeahead): don't leak DOM nodes

when `appendToBody` option is set to true and then scope is destroyed,
DOM is still polluted with popup.
This fix removes `$popup` from DOM, thus cleaning it
style(modal): change to dot notation

Closes #2634
feat(alert): allow alerts to be closed from a controller

Closes #2399
Closes #2854
chore(jshint): make JSHint configuration stricter

- Check for usage of undefined variables
- Add basic Jasmine globals so that spec files pass JSHint
- Ensure that angular variable can't be re-defined (set to false)

Closes #2861
fix(tests): usage of undefined variables
refactor(demo): resolve JSHint warnings

- Use $log instead of console as it's safer and always defined
- JSHint thinks usage of alert is possibly development code, so use
  $window.alert instead
fix(demo): initial load of fragment URLs

Closes #2762
refactor(tooltip): lazily evaluate placement, delay

There's no need for an observer here because these values are only used
on initialization of the tooltip.