Add deep copy method to noteService
Refactor Note Controller

Split into its own file, switch to using controllerAs pattern, combine New and Edit Note controllers into one
Order by note.id so that view order does not change on canceled edit

Since we remove and re-insert old note when editing, the old note is inserted at the end of the array. Without sorting by id, the order of elements changes when the user comes back to the list view which is disorienting.