angular directive changes, still missing #2605

tabs to spaces, fix white space, separate link and compile interfaces to be casteable
Awesome. Thanks. One more fix. Don't mark these arguments as optional (http://definitelytyped.org/guides/best-practices.html callback signatures)