Authentication and structure change

This pull will add in authentication along with numerous other changes to the data structure, logic, and authorization. We also made the UI much cleaner for the users.