This commit completes the CRUD pipeline.

Now I have a little app that can do all 4 CRUD operations!!

To acheive this, I basically made a new marionette ItemView, AddContactView. This new view inherits from SingleContactView and uses the same template, which keeps things totally DRY (no template code is reused). Basically, AddContactView just renders the template for SingleContactView but with a new empty ContactModel object. This also allows me to share the "saveContact" method between the two views.

Finally, adds a command to the marionette Application object's commands subsystem such that the two View classes can communicate between eachother without directly referencing eachother (e.g. the "safe" way).

Specifically, adds a "listAggregate" command to the app object. Then when the AddContactView saves a new ContactModel to the server, what I do is call that command with the newly-saved model as the parameter, which adds it to the main contact collection and then re-renders the ContactListView with the new data added. This facilitates a clean (and "safe") communication between these two components without any direct contact between them.