ISPN-3212 Modularization phase 1

This is the first phase of the modularization work encompassed by ISPN-3212

ISPN-3269 Introduce a BOM
ISPN-3275 Drop ByteArrayKey
ISPN-3260 Split common API and classes into infinispan-commons

Many classes have been moved to org.infinispan.commons.*
Where these classes are API, @Deprecated placeholders have been created to ease backwards compatibility and delegates have been added.
Most of the work went into splitting the Marshalling / Externalizer code into parts consumable outside of core (e.g. HotRod) and parts which are only relevant within core.