Add a UPDListener class for testing
test/test_bes.py: Add ConnectionTestCase.test_udp_connection
README: Document the testing procedure
test/udp_listener.py: Allow the receive to time out

If the sender crashes before getting off all the messages, we don't
want the listener thread to hang forever.
bes: Convert JSON str to bytes for Python 3

Avoiding:

  ERROR: test_emit (test.test_bes.EmitTestCase)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/.../bes/test/test_bes.py", line 32, in test_emit
      payload={'hello': 'world', 'goodbye': 'everybody'})
    File "/.../bes/test/test_bes.py", line 25, in _call_emit
      *args, **kwargs)
    File "/.../bes/bes/__init__.py", line 119, in emit
      connection.send(message)
    File "/.../bes/bes/__init__.py", line 62, in send
      self._sock.sendto(message, (self.host, self.port))
  TypeError: 'str' does not support the buffer interface
test/test_bes.py: Add EmitTestCase.test_emit
bes: Add 'sort_keys' argument to 'emit' for consistent testing
test/test_bes.py: Use sort_keys=True in EmitTestCase
bes: 'emit', 'log', and friends should return the sent message

For easier testing.  Running a UDP server for every test case is
silly.
Use a MagicMock connection_class for testing emit

Instead of spawning a UDP server and talking to it.  We've already
tested the UDP-serving in ConnectionTestCase.
test/test_bes.py: For Python < 3.3, fall back on an external mock

unittest.mock is new in 3.3 [1].

[1]: http://docs.python.org/3/library/unittest.mock.html
bes/django.py: Explicitly use absolute imports for Python 2