angular directive changes, still missing #2605

tabs to spaces, fix white space, separate link and compile interfaces to be casteable