* Partial changes made when merging collections into the dev branch.
* Refactored collections for them all to be generic (ADTs).
* Removed the Domain Object specific B+Tree. It is now "generified" in its ADT.
* Tob keys must be serializable as well.
* Merged big-refactoring back to this dev branch.
* Merge remote-tracking branch 'ff-repo/big-refactoring-2012' into nmld-collections

Conflicts:
	adt-bplustree/src/main/dml/fenix-framework-adt-bplustree.dml
	adt-bplustree/src/main/java/pt/ist/fenixframework/adt/bplustree/AbstractNodeArrayShadow.java
	adt-bplustree/src/main/java/pt/ist/fenixframework/adt/bplustree/BPlusTreeArray.java
	adt-bplustree/src/main/java/pt/ist/fenixframework/adt/bplustree/BPlusTreeArrayShadow.java
	adt-bplustree/src/main/java/pt/ist/fenixframework/adt/bplustree/BPlusTreeShadow.java
	adt-bplustree/src/main/java/pt/ist/fenixframework/adt/bplustree/InnerNodeArrayShadow.java
	adt-bplustree/src/main/java/pt/ist/fenixframework/adt/bplustree/LeafNodeArrayShadow.java
	adt-skiplist/src/main/java/pt/ist/fenixframework/adt/skiplist/ForwardArrayShadow.java
	adt-skiplist/src/main/java/pt/ist/fenixframework/adt/skiplist/SkipListNodeShadow.java
	adt-skiplist/src/main/java/pt/ist/fenixframework/adt/skiplist/SkipListShadow.java
	backend-infinispan/pom.xml
	backend-infinispan/src/main/java/pt/ist/fenixframework/backend/infinispan/InfinispanCodeGenerator.java
	backend-jvstm-mem/pom.xml
	backend-jvstm-mem/src/main/java/pt/ist/fenixframework/backend/jvstmmem/JVSTMMemCodeGenerator.java
	backend-mem/pom.xml
	backend-ogm/pom.xml
	backend-ogm/src/main/java/pt/ist/fenixframework/backend/ogm/OgmCodeGenerator.java
	bplustree-domain-object/.classpath
	bplustree-domain-object/src/main/dml/fenix-framework-bplustree-domain-object.dml
	core/src/main/java/pt/ist/fenixframework/FenixFramework.java
	dml-compiler/src/main/java/pt/ist/fenixframework/dml/CodeGenerator.java
	parent/pom.xml
	pom.xml
* Corrections to the previous merge.
* Had incorrectly merged ISPN backend.
* Changed offending configurations for JGroups and ISPN that do not match TWM-GMU without support for ReadCommitted.
* Changed JVSTM-Mem backend TransactionalManager to keep jpa Transactions for the TxIntrospector.
Add indexed-relations support
Add missing class
* Working version of indexed relations without support for multiple values per key indexed.
* Support for multi-values per key in indexed relations.
* Removed the *-domain-object collections modules. These are now superseeded by the adt-* modules.
* Removed the deprecated slot indexation.

* This removes the support for the 'unique' tag in the DML language.
* That support was hard-wired in place of JSON tags. Given that very few users (or none) were using the indexes, it made no sense to keep such deprecated code.
* This also impacts the generated code as the lack of that DML construct also means (obviously) that the findBy* methods are no longer generated. The new indexed relations superseed these functionalities.
* Refactored indexes generation that was in the abstract CodeGenerator and moved them to the IndexesCodeGenerator.
* Reviewed all code generators to ensure consistent and correct usage of the DAP Code Generator.
* RelationAwareSet avoids the contains call to the backing up collection.

* DomainBasedMaps now also provide a semantically equivalent add/remove to Set. This avoids the contains method call on the RelationAwareSet when manipulating the collection that backs up the relation, because the collection itself guarantees the semantics of a set.
* Test module for Indexed Relations.