fix (bu$compile): fix problem that would have post-link function be wrapped within itself when applied multiple times
feat (bu$compile): add more complex logic to promised templates

Promised templates can now be resolved with promises or even functions which may return a promise or a raw template. These functions can benefit from AngularJS's full stack of dependency injection solution.