feat(tooltip,popover): logic moved to $tooltip svc

Popover and tooltip directive creation is now performed through the help
of the `$tooltip` service that manages all aspects of directive
creation and management based on only the name of the component and
their default triggers.

The tooltip and popover sub-directives and their templates were
refactored to use common scope variables that the new service can
provide, yielding even greater flexibility.

Animation is now enabled by default.

Lastly, the `$tooltipProvider` has been established to allow setting
default global options for the tooltip and popover, but these features
are not yet public as the API is sure to change drastically as we flesh
out which global options to allow. But the framework is in place as this
was a logical time to incorporate it.
feat(progressbar): add progressbar directive

Closes #187
docs(dialog): update README.md

Updated due to https://github.com/angular-ui/bootstrap/pull/118
refactor(modal): remove unused variables
docs(README): minor updates
fix(typeahead): close matches popup on click outside typeahead

Closes #231
docs(README): minor updates
feat(carousel): Hide navigation indicators if only one slide
chore(grunt): update to latest grunt to fix grunt bug when running on node 0.10.0

Changes to the path API in nodeJS causes the build to fail with grunt 0.4.0.  This patch fixes it in two ways:

- Update to grunt 0.4.1 - this version fixes the bug
- Add cwd option to build - this also fixes the issue but from our side and works with grunt 0.4.0
docs(README): add installation instructions
fix(typeahead): stop keydown event propagation when ESC pressed to discard matches

Closes #243
fix(tabs): remove superfluous href from tabs template
chore(build): Add grunt-contrib-watch task for grunt v0.4
feat(tooltipProvider): added appendToBody option for $tooltip
feat(tooltip): added popup-delay option
feat(tooltip): added appendToBody to $tooltip

Tooltips and popovers can now be appended to the body of the HTML
document instead of directly after the element on which the directive
was invoked, by setting `appendToBody` to true through
$tooltipProvider.options().

The tooltip specs were refactored slightly to bucket all
provider-related specs under a single `describe` for cleanliness.
fix(typeahead): correctly render initial model value

Closes #203
feat(typeahead): support the editable property

Closes #269
fix(dialog): set _open to false on init
refactor(dropdownToggle): cleanup code and increase legibility