try moving the directives template to a separate html

tests work with cache
normally works without cache
fix tests for templateUrl and isolate scope issue

use $timeout
reasoning described here: http://stackoverflow.com/q/23023269/1456578
move compilation logic with $timeout to utils