Kernel#fail should handle java exceptions

Fixes #1641
ArrayJavaProxy#to_a now returns nested arrays where applicable
Introduce LibrarySearcher and make LoadService use it
Require no special jar handling