My first commit: Added 'error_reporter' for standardised error reporting Working on getting external functions running again Also: issue 130, issue 68, issue 131, issue 89, issue 127, issue 138, issue 94.