Introduce a timeout for agent requests

This fixes an issue where agents that are hanging for some reason will
end up blocking all work in the whole farm, because celery will not pick
up any more tasks.
Track MAC addresses of agents
Explicitly disable auto increment for MySQL
Deal better with empty MAC addresses

Agents on Windows soemtimes include an empty MAC address in the list.
This is a simple workaround to deal with that.

Of course, the agent should not be sending values like that in the first
place.
Simplify turning all mac addresses to lower case
Move checkInteger code inline

The checkInteger method was short and used only in one place.
Work on mac_addresses only if it is not None
Add tests for MACAddress class
Skip over bad mac addresses
Add cascade rules to agent mac_addresses relation
Fix MAC address regex
Allow removal of all mac addrs through empty list
Log removal of MAC address
Fix bad variable name, "agent" should be "model"
Fix default sort for agents
Merge pull request #302 from guidow/agent_request_timeout

Introduce a timeout for agent requests
Merge pull request #303 from guidow/fix_default_agent_sort

Fix default sort for agents
Merge pull request #299 from guidow/track_agent_mac_addresses

Track MAC addresses of agents