Cause still logged when using custom error message

FlowException now has frontendMessage property in addition to message.
Message is logged and frontendMessage is sent to the browser.
RemoteSubmissionHelperException now extends FlowException so doesn't have to be wrapped.
Fixes #13 nested foreach. Thanks to @danlenharris
Merge branch 'develop'