(feat) add controller property to directives

Directives are now generated with a controller [and controllerAs].
A name property is added to the scope. The directive template uses
this model. The link function is now empty with only a jshint comment.