Add UniqueId.getTSUIDFromKey() to parse TSUIDs from an HBase row key

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Add "tsd.core.meta.enable_tracking" config option, defaults to false

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Add TSMeta.metaExistsInStorage() to determine if a meta object exists
Add TSMeta.incrementAndGetCounter() to use atomic counters for tracking
timeseries as per Tsuna
Add TSMeta constructor that stores a given created timestamp
Add TSMeta.storeNew() that stores a new timeseris meta object without syncs
Fix possible issues to avoid corrupted storage data for TSMeta objects
Add total_dps field and getter to TSMeta
Change TSMeta.QUALIFIER to META_QUALIFER and add COUNTER_QUALIFIER to
differentiate between the columns
Fix TSMeta to throw an exception if a user tries to modify an entry that does
not exist instead of creating one
Modify TSMeta.getFromStorage() to load the last_received and total datapoints
from storage
Replace TSMeta.copyToStorageObject() with getStorageJSON() to serialize only
the fields we want to the data store

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Add UIDMeta.storeNew() to create a new object
Add UIDmeta.setCreated() as we may need to override when syncing past timeseries
Add logging ignores to TestUIDMeta

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Add TSDB reference to UniqueId for the UIDMeta creation calls with a setter so
we don't have to modify the constructor
Add UniqueIdType field to UniqueId
Modify UniqueId to create the UIDMeta when assigning a UID if enabled by the
user

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Replace NoSuchUniqueName catches with NoSuchUniqueId in UniqueIdRpc UID calls, was a bug
Refactor TestUniqueIdRpc tests so setups are only called where necessary

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Add call to TSMeta.incrementAndGetCounter() in TSDB if meta tracking is enabled
Add call to UniqueId.setTSDB() if meta tracking is enabled

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>