Marks were very difficult to extend, need large refactor
Marks now have a compound ID as well as their sourceID. They need this compound ID to be identifiable by the
mark rounding messages.
tags: #story[956] #pair[wmu16, mra106]
- Mark is an abstract class which containing its name and type
- Single Mark is a sub class of Mark which containing only one GPS location
- Gate Mark is a sub class of Mark which containing two Single Marks
#refactor #fix #story[10] #story[11] #story[12]