InferSchema, cleanup, library headers

Address #189 except it doesn't do client queuing.. will make a separate issue.
Not needed. library field is an object of the form `{"name": "gokronos", "version": "0.1"}`