POST / DELETE queue callers via REST api

The middleware API is not going to be exposed externally, so we need to
move some of these methods into the REST api

Change-Id: I666e42b32d34bbd66b41eb3ce8f5d760090716ff
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
Rework API unit tests

We should be stressing the api interface not the db interface. Also
remove a lot of redundant code.

Change-Id: I559ad94b1f4fd2cb1d269e997f1a783668daa728
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
Initial QueueStats

Right now, we only list the total callers in a queue. A start, but more
will follow.

Change-Id: I51cfd4174de7be246cce76eb103433cc93701c34
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
Build out AgentLogin logic

We'll also drop the password requirement for Agents right now, the plan
will be to create a generic user / group authentication system then
associate an Agents id to generic user.

Change-Id: I7972336cfb6e02649e6bcf878b72c810e3c47dc8
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
Create QueueMember logic in middleware

Change-Id: I82e1b6b086b8d9bf384fd175e8f2a974c8288473
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
Add member count to queue stats

Change-Id: I20fbba6372f710f4af0546013cb0795ad360e0eb
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
Rework QueueMember API

QueueMembers don't need IDs, because we need them to actually be agents.

Change-Id: Iac82fd38658d9b295a7b6f1ff8493aec4c6796d1
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>