refactors actions into controllers and transitions to parent path after deletes.
adds license and author information to files.
adds in authentication and better user feedback.
reorgs dependencies into lib directory.