Implemented fix for Bug #4.

Wrappers around functions provided as callbacks from modules no longer assert that the module is ready. These functions now set a GError if the module is not ready. Modules randomly failing is a valid operation for the program considering things like dogs eating cords and beers being spilled in triggers, etc... Therefore, the program should not crash when this happens, but should instead throw a polite error.

Error handling sprinkled throughout wherever these functions are called. Assertions removed. New error codes implemented in module.h