New report creation methods

Add new report creation methods to ErrorReporter taking an error message and optional custom data. This enables the following use cases:

1. Report with no stack trace
This is useful to get easier to read reports for error reports triggered by a user action, such as a 'Report an issue' menu.

2. Report from a log handler
When reporting errors gathered through a log handler (for example with a log handler reporting any severe error to ACRA), the log message can be used as the report message, and the custom data can be used for log entry information such as source class and method names.

When the report is sent to the server the message is added as the first line of the strack trace field as this provides the best exposure with existing reporting servers such as acralyzer.