* refactor error logging code * make all errors go to stderr * make fatal errors actually fatal (exit instead of return) * make output consistent