message: Refactor: trezor static `signMessage` to catch errors
  This closes colony-wallet#98
diff: @@ -179,7 +179,7 @@ export const signTransaction = async ({
  export const signMessage = async ({
  derivationPath,
  message = ' ',
  -}: Object): Promise<string> => {
  +}: Object = {}): Promise<string | void> => {
  /*
  * Validate input values: derivationPath and message
  *
  @@ -188,6 +188,7 @@ export const signMessage = async ({
  */
  derivationPathValidator(derivationPath);
  messageValidator(message);
  + try {
  const { signature: signedMessage } = await payloadListener({
  payload: Object.assign({}, PAYLOAD_SIGNMSG, {
  /*
  @@ -212,6 +213,22 @@ export const signMessage = async ({
  * Add the hex `0x` prefix
  */
  return hexSequenceNormalizer(signedMessage);
  + } catch (caughtError) {
  + /*
  + * Don't throw an error if the user cancelled
  + */
  + if (caughtError.message === STD_ERRORS.CANCEL_TX_SIGN) {
  + return warning(messages.userSignTxCancel);
  + }
  + /*
  + * But throw otherwise, so we can see what's going on
  + */
  + throw new Error(
  + `${messages.userSignTxGenericError}: message: (${message}) ${
  + caughtError.message
  + }`,
  + );
  + }
  };
  /**
  