Improve wrapping of lists.

With the current way that Java lists are wrapped into a Scriptable, all methods
that are not defined on the java.util.List interface are hidden. This pull
request makes NativeList extend NativeJavaObject in order to use reflection in
order to look up properties that would not be defined on the List interface.