base. Improvements to exceptions.

Exceptions now receive file, line and function arguments.
Change throw macro to pass file, line and function to exception.
Fix to test game to use new throw and error macros.
Add a utility functions file (utils) to base lib.
Add a generate error message to base (in utils).