Reduced database overhead from agents

 - added dedicated handler for node agents update only requests
 - caching data from agents to avoid db update with same data
 - nailgun responses with appropriate http statuses
 - changed agent update logic. Now it tries to update first and respects
   nailgun response statuses

Implements: blueprint nailgun-agent-handler
Closes-Bug: #1274614

Conflicts:
	nailgun/nailgun/test/unit/test_node_nic_handler.py

Change-Id: I2658cf7561cd8c9116acced2443d072d471f3bdb