Support disabling Java reflection builtins

PrologControl.setEnableReflection(false) will cause any of the
Java reflection based builtins to throw PermissionException and
fail-fast, preventing the Prolog code from using reflection in
the script body.  Instead all invocations must be made through
classes that extend Predicate.
9 files changed