Tracking java.lang.reflect.Executable changes

Added a method to Class: total vtable entries increases
by one.

Handling knock-ons of introducing Executable into the
class hierarchy above AbstractMethod.

Rearranging java_lang_reflect_*.cc code to track libcore
changes that reduce duplication between Constructor / Method
/ Executable and AbstractMethod and track the OpenJDK 8
more closely.

Bug: 28666126
Change-Id: I6b5c476a14b8ea25556c35448431de744519b6c2
diff --git a/runtime/mirror/abstract_method.h b/runtime/mirror/abstract_method.h
index cfbe492..4f714a6 100644
--- a/runtime/mirror/abstract_method.h
+++ b/runtime/mirror/abstract_method.h
@@ -17,7 +17,7 @@
 #ifndef ART_RUNTIME_MIRROR_ABSTRACT_METHOD_H_
 #define ART_RUNTIME_MIRROR_ABSTRACT_METHOD_H_
 
-#include "accessible_object.h"
+#include "executable.h"
 #include "gc_root.h"
 #include "object.h"
 #include "object_callbacks.h"
@@ -31,7 +31,7 @@
 namespace mirror {
 
 // C++ mirror of java.lang.reflect.AbstractMethod.
-class MANAGED AbstractMethod : public AccessibleObject {
+class MANAGED AbstractMethod : public Executable {
  public:
   // Called from Constructor::CreateFromArtMethod, Method::CreateFromArtMethod.
   template <PointerSize kPointerSize, bool kTransactionActive>