New persistant data storage option

Used by thing and service model to write persistant data
to disk. It's somewhat smart in that it only writes when there
is a data change, insead of every 'frame', which saves time and
disk write cycles (no more hacky throttling).
Also, thing and service storage locations moved to routes/models/persistant/persistant.json
Authentication for addition of thing/service

Place a get to /things/genkey to get a key, and pass it to
/things/add/[KEY] when creating a thing (same for services).
Thing keys and service keys aren't interchangeable, so
generating a key for a thing won't work for a service, and
vice versa.
Updated the frontend to now support the new add auth scheme

A new '+' button exists that the user must click to view an auth code, then
the user must copy that code into the thing/service to authorise it's
addition to the backend.