use more generic java types when possible

When declaring variables, as well as when defining the types passed to
or returned from a method, use more generic types when possible.  There
is no need to require that a caller to a method pass a HashMap when
really any Map implementation will do.  It is rare that a specific
implementation of a particular Collection type is *really* required.

Also avoid use of wildcard generics (e.g. Vector<?>) when the generics
type is known.  This prevents the need for casting values later on.

I suspect that many places where Vector is currently used would see
performance increases (albeit minor) by using ArrayList instead.  That
change is not part of this commit, though will be made much easier with
the changes here.

git-svn-id: https://android.svn.wordpress.org/trunk@953 a6565c4b-a94d-4d28-bb26-aa9e5ab542c0