(re)converted Value to an interface

--HG--
rename : graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Value.java => graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/AbstractValue.java
converted JavaConstant to an interface
fixed NullConstant.equals to handle NullConstant not being a singleton
IntegerStamp.constant only returns a single value stamp for PrimitiveConstants
removed *Impl types in signatures of Remote interfaces
fixed reference in javadoc
made LocationIdentity values support .equals() instead of identity (i.e. '==') for equality comparisons (and as hash map keys)
removed annotation denoting which proxied invocations have their results cached (for now, all results are cached)
be verbose about replay compilation test failure
mx: added --fail-fast option to unittest that stops Junit after first input class causing a test failure
Merge.
Fix HotSpotCodeCacheProvider.disassemble
Merge.
fixed toString() for JavaConstants
Truffle: fix stable array canonicalization

--HG--
extra : rebase_source : 34b75783c2c5f607a826d1312eab40fb91b04184
Truffle: remove obsolete node

--HG--
extra : rebase_source : 45f449c2be9376f02d1e3b0bbb257faf1fce0dbf
Truffle: add NodeInterface and require that all child fields be of this type

--HG--
extra : rebase_source : 0c35bb950af0715261255a55ad5a5d386e00f6ed
extra : amend_source : 0a6a5317511273f036b9bf7e74834eb6606bd6ce