Add SearchPlugin abstract class
Add SearchPlugin unit test implementation

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Add tsd.search.enable and tsd.search.plugin config option defaults
Add tsd.core.plugin_path config default

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Add search object to TSDB
Add TSDB.indexTSMeta() and .indexUIDMeta() to access the search object
Add delete TSUID and UID search calls to TSDB
Add TSDB.initializePlugins() to load plugins and toss exceptions AFTER
construction of the TSDB
Add TestTSDB initialize plugins UTs

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Add search index and delete calls to UniqueIdRpc so that the index is updated
when the user makes a modification
Update Unit tests to verify the search method was called

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Merge remote branch 'remotes/official/next' into next_meta

Conflicts:
	src/core/TSDB.java
	src/search/SearchPlugin.java
	src/utils/Config.java
Add TSMeta.incrementOrSetTSUID() to use atomic counters for tracking timeseries as per Tsuna
Remove call to MetaManager, replace with call to TSMeta.incrementOrSet