Merged changes made to CalibrationMetric in develop branch.
Fixed wrong title on EventCompareSynthetics plot.
Fixed output line in MetricData.
I noticed that Joel had started to implement network/station/location/channel filtering
in the schema so I took it a little further.
Now you can specify which networks and/or stations you want to scan in the config.xml, e.g.,
<cfg:networks_subset>IU,NE</cfg:networks_subset>
Added multi-threading by moving the Scanner loop into ScanManager,
which manages a worker Thread pool and a ConcurrentLinkedQueue of tasks (=Scanners).
Note that typically the list of tasks will be > the # of threads, so that each
thread will execute more than 1 task (will run more than 1 Station Scanner).

Also, implemented scan-specific network/station filtering in the ScanManager class.
ScanManager changed to get # of threads to use from the processor
via Runtime.getRuntime().availableProcessors()
Quick test to see that Adam's run is properly threading
Still testing - set nthreads=1
Fixed hang on using local MetaGenerator.  Needed to call
UnicastRemoteObject.unexportObject(metaGen, true) to release the RMI
Still testing threading ...
Switched from manually creating/handling thread pool to using
ExecutorService to do this.  This allows a check to see
when all worker threads have finished, and then return back to main = SeedScan
to shutdown the injector/reader threads.

Note that the check in ScanManager: while (executor.isTerminated() == false)
could never return in the case of a hung thread (?)
Fixed some issues related to multi-threading for database reader/injector
classes. Also removed static declaration on eventCMTs in EventCompareStrongMotion
and EventCompareSynthetics that I think was causing null pointers.
Initialized Eclipse project settings.
Changed insertMetricData(…) to be transactional and re-use the statement.
Switched to DataTypeConverter in EncryptedPassword.
Updated NLNMDeviationMetric to use the lazy instaiation pattern for fetching the NLNM and NHNM.
Added the new NoiseModel class for representing each of the noise models (high or low)
Cleaned up logging in metric classes.
Trying new lock in NLNMDeviation for the model reads - this may
change back to lazy initialization.
Fixed a couple typos in NLNMDeviationMetric using Joel's lazy initialization
+ double check synchronization.
Also rolled readNLNM() + readNHNM() into single readNoiseModel()
Pulled in Joel's modifications to NLNMDeviationMetric to
use lazy initialization + double check synchronization to
handle reading NLNM/NHNM model files.

Conflicts:
	src/asl/seedscan/metrics/NLNMDeviationMetric.java
Modified CalibrationMetric to read instrument table safely across threads
and to compute the metric within a series of desired bands.
Hard-wired CalibrationMetric midBand calc to 40-80 sec as per Adam.
CalibrationMetric has been modified to pass a JSON String into the
MetricResult.valueMap and MetricDatabase.insertMetricData will
test to see if metricName==CalibrationMetric, and if so, will
format the database call statement with Field 7 = JSON String
instead of the usual Field 7 = double