Simple version of MessageDispatcher (based on Visitor design pattern) added.

MainController uses BlockingQueue and MessageDispatcher to maintain
communication with View.
Common::TimersManager and Common::EventTimer implementation.
QtView uses TimersManager and EventTimer to request Model snapshots at fixed time intervals.

BlockingQueue passes shared_ptr<Message> instead of Message*.
Fixed a few simple bugs (mostly because of typos); i.e. Track::clone()
was not returning result, copy constructor was not copying everything.