angular directive changes, still missing #2605

tabs to spaces, fix white space, separate link and compile interfaces to be casteable
you are right, I'm overthinking this. The next commit should have fixed it.