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

Change-Id: I2658cf7561cd8c9116acced2443d072d471f3bdb
Implements: blueprint nailgun-agent-handler
Closes-Bug: #1274614
Merge "Reduced database overhead from agents"