Added Agents collection and global agents list

Added an Agents collection class and a self-populating, cached, global
agents list. Also added a constructor to the Agent class that takes a
JSON object as a parameter.