Majority of agent/daemon work

Agent can report to server, server can send messages to waiting agent,
agent can marked messages as received
Updated gitignore