Development of version 0.10.0 (0.10.0-SNAPSHOT)
#33 - Add version to IEntity / IEntityInstance

* Added getVersion() method to IEntityInstance.
* Added version to EntityInstance.
* Updated code and unit tests.
#35 - Improve AddHeaders class

* Added @Component annotation.
* Logging warning message in case of message body is null.
#36 - Improve ConfigurationBase

* Added serviceName.
* Field serviceId is no more deprecated.
Fixed tests being dependent on execution order
First version of Mongo data access
 * DataAccess interface
 * MongoDataAccess implementation with tests
 * EntityInstance instanceID is now a field
 * Some dependency version changes
* Moved DataAccess from archive to core
* IPublish methods can throw exceptions
* ICatalogue and IPublish implementations as wrappers
  over DataAccess
* Deprecated IDataAccess and moved it to org.hbird.business.api.deprecated
* Fixed spring data versions, previously were LATEST
* Finished and unit tested Mongo implementation of a new DataAccess
* Changed some IDataAccess client class due to a small change in the API
  (they still use a deprecated one, but at least a typesafe access)
*
* Renamed DataAccess to IDataAccess, moved it to the api package
* Renamed IPublish to IPublisher
* Solr endpoint is now initialized once and directly, not throught
  Camel autodiscover, as a preparation for archive changes
* SoftwareComponentDriver is now a generic type parameterised on
  the component type
* ConfiguratorComponentDriver now injects dependencies into drivers'
  constructors
* Celestrack component now has its dependencies injected, instead of
  getting them through ApiFactory
* Added Injector API for injecting object into Camel. Previously this was
being done by IPublish, but the new IPublisher is concerned only with
saving into archive
* Updated most of the code to use the new IDataAccess
* Almost finished work on removing ApiFactory - most of the drivers
now take their dependencies as constructor parameters, resolved in
Configurator
* Archive disabled for now - all data access is through IDataAccess
* Filter classes
* Publishing api
  - IPublisher - main interface
  - Publisher - IDataAccess adapter
  - Injector - decorator for IPublisher, sends messages to AMQ
  - FilteringPublisher - decorator that filters objects
* Changed semantics of some methods in MongoDataAccess so that they
  would return only last versions of instances. Some invalid methods
  still remain
* Due to IPublisher now being responsible for publishing messages to
  AMQ, it is a protected member of SoftwareComponentDriver
* Completely moved away from deprecated IDataAccess
* addInjectionRoute is replaced in most places withe Injector.publish
  that will perform the routing
* HBirdApi.publish leaves issuedBy field of the published object intact
  if it is not null
* Removed convinience methods from IPublisher
* Added default (incomplete) implementation of IPartManager
* Modified integration tests to use new API
Tests requiring access to MongoDB disabled by default. To enable,
activate "mongotests" Maven profile
* All mongoDataAccess methods now return the latest versions of the entities
* Added class SubclassAwareMongoTemplate that overrides several MongoTemplate
  methods so that fetching by superclass would be possible
* Remove commit(ID) method from IPublisher
* Changed tabs to spaces
* IDataAccess.getMetadata takes an ID instean of an objects as an
  argument
* Added getAllBySupertype method to IDataAccess
* MongoDataAccess implements it by scanning the classpath for the
  whole hierarchy of EntityInstance descendants
* Spring MongoTemplate should be used as a default backend for
  MongoDataAccess. In case there are problems with superclasses
  SubclassAwareMongoTemplate can still be plugged in, though its
  performance will be worse
* Most Catalogue methods use getAllBySupertype
* Added CatalogueTest to Mongo-specific maven profile
* Changed the signature of Publisher.publish to a generic one
* MongoDataAccess class hierarchy root changed to IEntity from
  EntityInstance
* QueueManagerApi updated to work with AMQ 5.8+
* Added getAllInstancesById(id, class) method to IDataAccess
* Hotfix: disable dispose() in Injector, as it shuts the Camel context down
* Custom converters for MongoTemplate: Class<?> and Vector3D
* Specific exception for IDataAccess
* To support declaring converters in context xml, added another
constructor to SubclassAwareMongoTemplate
* Marked one CommandArgument constructor as @PersistenceConstructor,
so that MongoTemplate would use it to deserialize commands
Merge pull request #38 from filippivanov/development

Merging pull request #38 to development branch.
Fix for issue #34 Alternative data storage
#34 - Alternative data storage

* Updated log statments
* Removed startup order statments from HamlibDriver
* Improved exception handling in SatelliteResolver, TleResolver and ArchivePoller
* Updated assemblies
#34 - Alternative data storage

* Extra log statments in MongoDataAccess.save()
* Improved EntityCache
* Created GenericCacheResolver
* Removed SatelliteResolver and TleResolver
* Improved exception handling and logging in TracCommandCreationJob
* Fixed mongo db config issue in assemblies/mongo-db.xml