+ Tokens can be added by the add_token command or via the CLI
+ Tokens are checked for authorization before a command is run
+ Added an error message field to the GeoffreyApiResponse
+ Made tokens strings instead of u64s
+ Tokens are randomly generated 64 char long alphanumeric strings
+ Clippy + Fmt
+ Refactored to make CommandRequest a trait that all the parameter structs implment
+ Created handle_command to handle all the preprocessing needed before running the command
+ Decoupled Database Types from API Return Types
+ Allows response to be more content rich
+ Added helper methods to load all the information related ot a model
+ This also helps us move a bit closer to what we would have to do for something like Diesel
+ Might be good to add more functions like this to decouple db operations from the API layer
+ Implemented register, find, and add_location
+ Bunch of changes to the DB and the Models to make this work
+ API models are defined in GeoffreyModels so things that call the API don't need to define their own types
+ Still needs a lot of work, and need to design the api a bit more
+ Clippy + fmt
+ Fixed issue where IDs of different models were colliding
+ Used built in methods to convert u64 to bytes
+ Added tests for database speed
+ Converted return time of filter to an iterator
+ Added better error handling for non-unique values
+ Fixed issue where IDs of different models were colliding
+ Used built in methods to convert u64 to bytes
+ Added tests for database speed
+ Converted return time of filter to an iterator
+ Added better error handling for non-unique values
+ Each location type is now a struct containing LocationData and location specific data.
+ Each type has its own place its own tree
+ Both were done in order to allow clear deserialization