internal: internal structs for metrics have been added.
These struct are meant to represent corresponding metrics, to provide methods for processing event_messages and to output its state.
internal: internal metrics have been moved out to separate header & source files.
internal: internal_monitor type has been added which represents all possible internal metrics & transactions.
Storage of internal_monitors has been added (unordered_map).
Functions which process event_message and update corresponding internal_monitor have been added.