Revert "Fix out of sync instance to static implementation map."

This reverts commit 9247a61375e24b900feac93db27355eeb49d2253.

Change-Id: I8aa4bccba29d357a8e8810bef0d6f7085d044d1d
Fix out of sync instance to static implementation map.

JProgram keeps track of static implementors synthesized
by MakeCallsStatic. Pruner might remove static
implementors but did not alter the info kept in JProgram.

Passes like JSODevirtualizer might obtain a stale
static implementor that is has been pruned.

The error exhibited in a subsequent pass where more
methods are devirtualized.

Change-Id: I5d719d1cb105f951ce55e0dacaad317b17b26dc0
Bump api-checker definitions post 2.6.0 release.

Change-Id: I6768ef33e13b6b22f916561d736b09bd6c253db3
Refactor of Cast handling logic.

This patch accomplished the following:
- Merges the concepts of queryId (runtime type id for cast to
  purposes) and seedId (runtime type id for all other purposes).
  Now there is only one runtime type identifier. In the compiler
  a runtime type id is represented by a JRuntimeTypeReference node.
- There is a separate pass that replaces JRuntimeTypeReference nodes
  for the appropriate type constant. Previously this was done in
  GenerateJavaScriptAst.
- No longer monkey patches the String prototype, instead relies on
  JsoDevirtualizer to devirtualize string instance method calls.

This is a step towards allowing runtime type identifiers be unique
in absence of global information which is needed for separate
compilation.

TODO:
- Allow the use of different types of runtime type ids (strings, ints)
- Simplify classmetadata handling in general. In particular modernize
  class definition.
- Rename Seed... into more meaningfull names.
- Remove rest of fixed id references in SymbolMapGeneration.

Change-Id: I62cfbf35241b7a5cefa6c3cd9f7d4fdbf0aecf5d
Clarifies name type in Library read/write code.

Most names were source names but some were short names.

Change-Id: Ide8761a012c8d4edc2903c9800a9148192248d62
Merge remote-tracking branch 'upstream/master'