Create new submodule update target to run git submodule update

Resolves #59 at least partially. I have no need for the other submodule commands, but can start adding them if you would like.   

My current project needed to perform submodule updates during the build process, so I added this functionality into grunt-git. I tried to maintain the current style, but did do one thing very differently: Instead of pushing options onto the args array individually, I do so in a loop that loops through an array of ``acceptableOptions``. This way, only options that we are expecting will be passed to the child process, and those that might cause an error (e.g. ``verbose``) will not be. 

**I'm happy to convert it to the more explicit method used elsewhere in this repo if you would prefer.**

All CLI flags for git-submodule-update are supported by this patch, though I suspect that most folks will only use *init* and *recursive*. 

I've also updated the README to include documentation for the new task, and added tests for each option.
Agreed. I had to do a little research to confirm, but it looks like my understanding of property enumeration was very outdated. After ES5, it is quite simple to mark prototype properties as non-enumerable, so adding ``hasOwnProperty`` to every ``for-in`` loop is no longer necessary. 

https://groups.google.com/forum/#!topic/jsmentors/2kmsNxOirFk