Named functions

This PR includes the changes from #169 and adds some minor changes to coding style.

I've been using this style in my projects lately and I find it has a couple of nice things about it. First of all, `angular.module` method calls are all listed at the top of the file so it's easy to see what's being added at a glance. Second, it cuts a level of indentation for all of the code in these functions. 

Another advantage (which I haven't taken advantage of here) is that it makes it convenient to add some comments (docblocks or whatever) in front of the `factory` and `directive` functions, in case you want to do that.