Huge refactor

* split app.go into 4: door.go, doors.go, server.go, and interfacekit.go
* change config.json to support multiple interfacekits with doors nested in each
* start of arguments to change the config.json