update errors with more info
add gitignore
explicitly close files and responses

There is an issue with using defer() in the worker loops where they
wouldn't clean up descriptors before the total exit of the program. WIth
a long set of cookbooks/objects we can exhaust the FD's pretty quick.
This moves the close to be explicit after we have done our work.