[server][plugin][gate][JSON] Add an AMQP and JSON based arm plugin

It just outputs received message and its content type for now. You can
push a message by the following Ruby script:

    #!/usr/bin/env ruby

    require "bunny"
    require "json"

    server_id = 4 # CHANGE ME

    connection = Bunny.new
    connection.start

    channel = connection.create_channel
    queue = channel.queue("hatohol.gate.#{server_id}")
    queue.publish(JSON.generate({"XXX" => "YYY"}),
                  :content_type => "application/json")
    connection.close

It requires AMQP 0-9-1 supported AMQP broker such as RabbitMQ. And it
also requires librabbitmq library that is a C implementation of AMQP.

TODO:

  * Add API to register hosts
  * Add API to register events
We basically use PImpl idiom in this project except when the performance is very important and we don't want to allocate memory dynamically.