ISPN-3400 Upgrade to JSR-107 (JCache) 1.0.0-PFD version

* Upgraded to Public Final Draft version of the JSR-107 specification.
* TCK has expanded loadAll() and expiry policy usage tests, which in
turn has required more complex logic to deal with all the expectations
in the TCK. For example, the logic for loadAll() is now different based
on whether a JCache cache loader has been configured, or the Infinispan
configuration has a native cache loader configured.
* Tweaked a test util method to provide more generic friendly returns
that avoids the need for cast.
ISPN-3698 Empty constructor for JBossMarshaller is used standalone
ISPN-3454 Third party suspect exceptions should be thrown as they are

* Third party suspect exceptions when you have 3 or more nodes, e.g.
node A, B and C, and one of the nodes, say node A, receives a message
from node B saying that node C was suspected. This could happen with
distributed caches.
* Third party suspect exceptions should not be transformed into remote
exceptions since these are application level errors.

Conflicts:
	core/src/main/java/org/infinispan/util/logging/Log.java
ISPN-3697 Improved lifecycle control of JGroupsChannelLookup
Also, add missing removal of up_handler from channel after stopping rpc dispatcher.
ISPN-3670 Any commands received before the initial topology is installed should block

Because the initial cache topology is installed in a single phase,
it's possible to receive a StateRequestCommand from another node before
receiving the JOIN response from the coordinator and installing the initial
cache topology. As such, commands received before we have a cache topology
should block instead of being ignored.
ISPN-3315 Retry remote get after topology change if all the targets are no longer owners

* Added test case to cover all possible inter-leaving scenarios between a
remote get and state transfer

* changed the remote get algorithm to retry when the topology id changes