Support endpoint querying via DNS SRV records

To add new SRV endpoints, list then in the configuration at the
srv_endpoints key.

This feature requires pydns (python-dns on a Debian-based system) to
work.
Add some error handling core
Core: fix a typo in warning category

DeprecationWarning instead of warnings.DeprecationWarning
DeprecationWarning is a built-in exception class
Core: add unit test case for FedMsgContext.send_message

it tests that send_message()
- deprecation warning is properly displayed
- it calls publish() with correct arguments
Merge pull request #155 from laarmen/feature/replay

Add server-side support for a replay mechanism
Added an inline comment for #155.
The test for #155 actually requires sqlalchemy.
Add some documentation for the queries
meta: test more strictly the result of handle_msg
Resolve errors in unit tests in Python 2.6.
Merge pull request #162 from laarmen/fix/meta_handle_msg

meta: test more strictly the result of handle_msg
Merge pull request #161 from laarmen/replay-misc

Documentation for the replay feature
Fix test config for py2.6.
Use TestCase.assertDictEqual instead of nose.assert_dict_equal
Move the DNS query for the SRV endpoiints from FedMsgContext to config.py
Merge pull request #164 from laarmen/fix/py26-tests

Use TestCase.assertDictEqual instead of nose.assert_dict_equal
Some more py2.6 fixes.
Document the srv_endpoints config key.
Merge pull request #165 from laarmen/feature/srv-records

Feature: Fetch endpoints from SRV records
Merge remote-tracking branch 'upstream/develop' into feature/replay-client