initial /api/1/assign endpoint, web ui updates, and some bugfixes

As with the previous merge from this branch this is an in progress merge into master.  The tests are currently not passing however that's related to how the tables are being created before the tests are run for the most part.  Additionally this code has not changed anything that the tests are running against.