Huge refactor

* split app.go into 5 files: config.go, 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