Backend dev units

Mostly new files. Some changes:
 - constructors for low level object such as Archer, Castle, etc. have fewer parameters (they supply the necessary data themselves now... don't know why they didn't before). Made sure to reflect the changes throughout the project. 
 - Updated Resources so that it uses stone, wasn't before.
 - Outlined Agents, basic Agent types. They're still rough though, but I think good enough to merge with backend master. 
 - Added documentation... still a lot to document still though.