Replace std::string with UTFString.

  Part of being modern.
  Convert from char * to UTFString.
  Updated comments and order of functions in header.

  There is a natural split here:

    * Stuff we need for CLua
    * Wrappers around functions for simplicity.

  Divide the implementation into two halfs for that purpose.
  Use more colums in ::choose_string().

  We previously limited our choices to four colums, now we'll use
 up to twelve.  The following is my test-code:

    choose_string( "a", "b", "c", "d", "e" , "f" .. )

  We'll make sure we limit the number of colums to <= the size of
 the selection though, to avoid empty columns which looks weird.
  The enum is private.
  Moved the callong of on_send_message.

  This is now only present in one location, and we also call
 on_senT_message afterwards.

  Part of #131.
  get_signature returns an UTF8 string.
  Avoid duplicating the "Send mail: y/n/a" code.

  This is now moved into `should_send` so that it appears once
 instead of three times.

  This closes #131.
  Added stub bounce() primitive.

  This just errors a message right now, since I've not decided
 how to implement it.

  Updates #129.
  Only add an attachment if it exists.
  Added a getter/setter for sending bounces.

  This is unfortunate, because "sendmail_path" is defined as
 "/usr/lib/sendmail -t" - with the "-t" meaning that the recipient
 will be parsed from the message.

  This means we cannot use it for bounce-handling, because we need
 to set the recipient on the command line.

  Updates #129.
  Implemented bounce().

  This updates #129.
  Prompt for confirmation prior to bounce().

  This closes #129.