Emit Events via AMQP (qpid)

We want the ability to emit events to clients listening on an AMQP (qpid) bus. Today we emit events to the database and logfile. It was a natural fit to also send them out via a bus so others can listen and react to them.

TEST
------
I will summarize some of the steps, but they are NOT a substitute for the pulp installation docs. Just some key items.

*NOTE:* you can probably use an existing Katello installation if it has pulp there. 

**Pulp/Qpid Setup**
1. In a VM, install pulp, https://pulp-user-guide.readthedocs.org/en/pulp-2.3/installation.html
   * get the fedora-pulp repo ```wget http://repos.fedorapeople.org/repos/pulp/pulp/fedora-pulp.repo```
   * install pulp-server ```yum groupinstall pulp-server```
   * install qpid examples ```yum install python-qpid-common```
   * install qpid tools ```yum install qpid-tools```
2. Add an event queue to pulp's qpid server
  * ```qpid-config add exchange topic event```
3. Turn off the firewall (or add the qpid port to allow connections to it)
4. Run the drain program to see the events going through the system:
```
cd /usr/share/doc/python-qpid-common-0.24/examples/api/
./drain -f event
```

**Candlepin Setup**
1. Update ```custom.yaml``` to enable amqp publishing and configure connection string:
```
candlepin.amqp.enable=true
candlepin.amqp.connect=tcp://PULP_IP_ADDR:5672
```
2. Deploy candlepin ```buildconf/scripts/deploy```
Watch the output of the drain program from above. You should have seen some events come through. If not, you can also force one by creating a new owner.

3. Create a new owner, meanwhile watch the drain program print out event information.
```
cd client/ruby
./cpc create_owner orgA
```

**Miscellaneous**
I also modified qpid's drain program to print out more information. You are free to use this.
https://gist.github.com/jmrodri/25519c63ceb54c5232cf

If you are inclined to test SSL, that's a whole other beast. We'd probably have to work together to test that. I will be adding documentation for that on the website.