passed a Replacements object to inlining utility methods that need one instead of the GraalRuntime API
moved Replacements and MacroSubstitution from the graal.api.replacements project to graal.nodes project and reversed the dependency between these two projects (the latter now/again depends on the former)

--HG--
rename : graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/MacroSubstitution.java => graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/MacroSubstitution.java
rename : graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/Replacements.java => graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/Replacements.java
added getReplacements() to LoweringTool
passed a Replacements object to ArrayCopyNode and ObjectCloneNode instead of using the Graal.getRequiredCapability() API
added test for a compiled exception handler
split the ExceptionObjectNode into two nodes during lowering; the original node remains to denote the entry to an exception handler and a new LoadExceptionObjectNode is placed after it to load the exception object
simplified registration of snippets
lower ExceptionObjectNode with a snippet (GRAAL-133)
Fixed NodeParser error synchronization was done too late.
Fixed when specializing nodes must always call the full generic case.
Fixed user generic signature must not match generated generic signature.
Fixed rootNode should not get replaced if an error occured otherwise no errors were outputted.
Merge.
Fixed getting signature if returnType is null.
Fixed minor bug in BinaryNodeTest.
Made handling of compile errors more robust in the truffle annotation parser.
Fixed verifying specialization argument length must be done before generating specialization ids.
Merge.
Added default execute methods for Truffle-SL.
Missed adding CompileErrorException.