Fill out AddToStats handler and test

This patch makes it so we can submit data scouting data to the
database. All tests are updated.

This patch also adds more error checking code to the database code to
make sure we get notified of some important edge cases.

The majority of the patch is written by Sabina. I amended the
`cli_test.py` file.

Signed-off-by: Philipp Schrader <philipp.schrader@gmail.com>
Signed-off-by: Sabina Leaver <100027607@mvla.net>
Change-Id: I9c70b8b02bbd3ff434fbbb857c2ed65f2684a50e
diff --git a/scouting/webserver/requests/debug/cli/main.go b/scouting/webserver/requests/debug/cli/main.go
index 03032be..6f2de1d 100644
--- a/scouting/webserver/requests/debug/cli/main.go
+++ b/scouting/webserver/requests/debug/cli/main.go
@@ -67,6 +67,8 @@
 
 func main() {
 	// Parse command line arguments.
+	indentPtr := flag.String("indent", " ",
+		"The indentation to use for the result dumping. Default is a space.")
 	addressPtr := flag.String("address", "http://localhost:8080",
 		"The end point where the server is listening.")
 	submitDataScoutingPtr := flag.String("submitDataScouting", "",
@@ -81,6 +83,8 @@
 		"If specified, parse the file as a RefreshMatchList JSON request.")
 	flag.Parse()
 
+	spew.Config.Indent = *indentPtr
+
 	// Handle the actual arguments.
 	if *submitDataScoutingPtr != "" {
 		log.Printf("Sending SubmitDataScouting to %s", *addressPtr)