message: gelf_appender now owns its mutex
diff: @@ -34,6 +34,7 @@ namespace fc
  config cfg;
  optional<boost::asio::ip::udp::endpoint> gelf_endpoint;
  udp_socket gelf_socket;
  + boost::mutex gelf_log_mutex;
  impl(const config& c) :
  cfg(c)
  @@ -100,14 +101,6 @@ namespace fc
  gelf_appender::~gelf_appender()
  {}
  - boost::mutex& gelf_log_mutex() {
  - //this mutex should live longer than any other static variables
  - //which may want to write logs from destructor (for example, nodeos`appbase::application)
  - //so, make it live forever (it's a memory leak, but memory usage doesn't grow over time)
  - static boost::mutex* m_ptr = new boost::mutex;
  - return *m_ptr;
  - }
  -
  void gelf_appender::log(const log_message& message)
  {
  if (!my->gelf_endpoint)
  @@ -171,7 +164,7 @@ namespace fc
  gelf_message_as_string[1] = (char)0x9c;
  assert(gelf_message_as_string[1] == (char)0x9c);
  - std::unique_lock<boost::mutex> lock(gelf_log_mutex());
  + std::unique_lock<boost::mutex> lock(my->gelf_log_mutex);
  // packets are sent by UDP, and they tend to disappear if they
  // get too large. It's hard to find any solid numbers on how
  