Factor out class names from throw statements.

Most exception throwing now happens via purpose-built wrapper
functions, each of which encapsulates the actual exception class name,
reducing one source of error (examples of which I fixed during this
exercise) and generally tidying things up.

This change doesn't fix all uses of exception class names, nor even
all throws, because (a) there were classes I didn't get to; (b)
because I didn't make wrappers for all the possible throw function
variants (e.g. the one that takes a cause, the one that takes varargs
for string formatting, etc.); and (c) there are uses of exception
classes in contexts other than throwing. But this change at least makes
a dent in the problem.

Change-Id: I6586ddd3e66ac0fc32c23181b17600ded0b914b2
diff --git a/vm/Ddm.c b/vm/Ddm.c
index ee3e9b2..528072e 100644
--- a/vm/Ddm.c
+++ b/vm/Ddm.c
@@ -509,7 +509,7 @@
 
     if (!dvmGenerateTrackedAllocationReport(&data, &len)) {
         /* assume OOM */
-        dvmThrowException("Ljava/lang/OutOfMemoryError;","recent alloc native");
+        dvmThrowOutOfMemoryError("recent alloc native");
         return NULL;
     }