New test that demonstrates ERRAI-339: Marshalling an array on its own (not as a member of another portable class) doesn't work

This test is presently disabled because we do not yet have a fix for it (but we have ideas for what to try next)
Code review: pulled up some functionality into AbstractMarshallingSession. Reduces several cut-n-pasted code chunks.
Attempt at eliminating the need for special generated array marshallers.

This is SO CLOSE to working: all we would need is a way of getting the GWT typeid of the array
we want to create. Then we can use JSNI to call Array.initDims() and we're done!
In that case, we would also want to remove all the code and logic responsible for generating
array marshallers. This would shrink both the javascript payload as well as Errai's marshaller
generator complexity.
Remove short-circuit that shouldn't have been committed
removing unused automarshal method
Merge branch 'on-demand-array-marshallers' of https://github.com/errai/errai
Fix for ERRAI-339: Support for marshalling arrays on their own
Merge branch 'master' into 2.1

Conflicts:
	errai-codegen/src/main/java/org/jboss/errai/codegen/Context.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/api/AbstractMarshallingSession.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/api/Marshaller.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/marshallers/AbstractBackReferencingMarshaller.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/marshallers/BooleanMarshaller.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/marshallers/ByteMarshaller.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/marshallers/CharacterMarshaller.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/marshallers/DateMarshaller.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/marshallers/ErraiProtocolEnvelopeMarshaller.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/marshallers/ErraiProtocolEnvelopeNoAutoMarshaller.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/marshallers/FloatMarshaller.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/marshallers/LinkedMapMarshaller.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/marshallers/ListMarshaller.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/marshallers/MapMarshaller.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/marshallers/PriorityQueueMarshaller.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/marshallers/QualifyingMarshallerWrapper.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/marshallers/SetMarshaller.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/marshallers/ShortMarshaller.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/marshallers/SortedMapMarshaller.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/marshallers/SortedSetMarshaller.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/marshallers/StringBuilderMarshaller.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/client/util/MarshallUtil.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/rebind/api/impl/defaultjava/DefaultJavaMappingStrategy.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/server/DecodingSession.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/server/EncodingSession.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/server/MappingContextSingleton.java
	errai-marshalling/src/main/java/org/jboss/errai/marshalling/server/marshallers/DefaultDefinitionMarshaller.java