[DyConf][Daemon] Cleanup error reporting.

Summary:
Created a new interface for errors in the config. Converting it
into other formats is left to the user.

Test Plan:
```
$ bin/gocov test github.com/gow/dyconf | tee /tmp/qqq | bin/gocov report
ok    github.com/gow/dyconf 0.104s

github.com/gow/dyconf/otfc.go  Init    100.00% (2/2)
github.com/gow/dyconf/otfc.go  Set     100.00% (1/1)
github.com/gow/dyconf/otfc.go  Get     100.00% (1/1)
github.com/gow/dyconf/otfc.go  Delete    100.00% (1/1)
github.com/gow/dyconf/otfc.go  Shutdown  50.00% (2/4)
github.com/gow/dyconf/otfc.go  Print     0.00% (0/4)
github.com/gow/dyconf    --------  53.85% (7/13)

$ bin/gocov test github.com/gow/dyconf/daemon | tee /tmp/qqq | bin/gocov report
ok    github.com/gow/dyconf/daemon  2.560s

github.com/gow/dyconf/daemon/server.go   httpServer.httpCallbackGet 100.00% (6/6)
github.com/gow/dyconf/daemon/server.go   sendHttpError       100.00% (4/4)
github.com/gow/dyconf/daemon/server.go   sendHttpJSONResponse    100.00% (2/2)
github.com/gow/dyconf/daemon/daemon.go   dyconfDaemon.stop     100.00% (1/1)
github.com/gow/dyconf/daemon/server.go   httpServer.start    95.00% (19/20)
github.com/gow/dyconf/daemon/server.go   httpServer.httpCallbackDelete 85.71% (6/7)
github.com/gow/dyconf/daemon/daemon.go   dyconfDaemon.init     84.62% (11/13)
github.com/gow/dyconf/daemon/server.go   httpServer.httpCallbackSet 81.82% (9/11)
github.com/gow/dyconf/daemon/main.go   main        0.00% (0/8)
github.com/gow/dyconf/daemon/errors.go   Error.ErrorString     0.00% (0/4)
github.com/gow/dyconf/daemon/server.go   httpServer.stop     0.00% (0/4)
github.com/gow/dyconf/daemon/errors.go   Error.MarshalJSON     0.00% (0/2)
github.com/gow/dyconf/daemon     -----------------------------   70.73% (58/82)

```

Reviewers: tommy.testy

Reviewed By: tommy.testy

Maniphest Tasks: T8

Differential Revision: D43