Add support to tooltips for dynamic content.

These commits make it easier to use tooltips and popovers with dynamic content, allowing tooltips and popovers to grow and shrink while still being positioned correctly. This is enabled by refactoring out the positioning logic into a separate method that can be called using the `$elem.tooltip('reposition')` mechanism to force a reflow of the element. Ancillary to this a caching policy for the title and content attributes has been added so computed but static content can be more easily accommodated.

Tests for this functionality are included.