Marky branch

@jeremy091 @sli-fox @mdubey2014 @AjayAujla 

Just implemented the Observer stuff...
I guess we are now ready for the demo.

TO-DO: have another data structure that contains ONLY existing towers.
This will optimize loops: instead of a double loop that checks the whole 2D vector of towers, we will be looping that data structure only.

(with Map data structure, we can give a unique key to each tower based on their coordinates)