**What this PR does / why we need it:**
Preallocate memory instead of enforcing an incremental growth. This will result in less work for the garbage collector.
* Start cleaning up linter errors. For #357
* Fix unmarshalling NullTime values
* More linter fixes
* Remove commented code
* Move defer up
* Consolidate error check lines
* Move error check to make sure row iteration was successful
* Cleaner error check + do not recreate pipe if it exists
* Consolidate hashing to generate client id
* Add support for ending the inbound stream. Closes#191
* Add a simple success response to API requests
* Add viewers over time API
* Move controllers to admin directory