Class for handling the identity of a replica. It is formed by an ID generated from the network identity (potentially MAC address when available on the chrome APIs), and a timestamp of when the app was started. Every app cycle will have a different timestamp, but same network identity so will allow discard old messages.
Adapting to the new replica identity.
Changed the way the app increases the online counter. Now the front end notifies the backend whenever it loaded through a message, and then the backend increases the counter and replicates it. The previous way had some problems taht could lead to counting users as online when they were not.
Added a function to the counter CRDT to clean old counts of a certain replica so it reduces the amount of garbage that it keeps to a minimum.
Adding the replication identity class to karma for running the unit tests.
Removing the appStarted call from the background since the new mechanism is in place.
Adding replica identity to the manifest file as a background script.