initial /api/1/assign endpoint, web ui updates, and 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 executed for the most part.  Additionally this code has not updated the tests themselves, created new tests, or updated code that has test cases either (though this will need to happen in future commits).