Provide the infrastructure so that all methods that may involve disk I/O
can be easilly and safely memoized without introducing subtle caching
bugs (see
https://github.com/BladeRunnerJS/brjs/wiki/BRJS-Memoization-Strategy-Strawman).
This code is currently untested because I need to switch tasks for a
bit.
Added some unit tests for the memoization code written previously, and
stopped using `Joiner.on()` when throwing a security exception as this
method caused a futher security query to be made, which ultimately leads
to a stack overflow.
Force re-build on Travis.
temporarilly prevent installation of the BRJSSecurityManager, to see if
that is what is causing Travis to fail.
Re-instated the security manager, but modified so it no longer throws an
exception if the thing we're reading is a class or jar file (used to
dynamically load parts of the program), since not all of the classes
appear to be pre-loaded when we run on Travis.
Prevent compilers warnings due to use of try-with-resources for a use
case where we don't need access to the auto-closable.
Add deprecated annotations to all security manager methods that are also
marked as deprecated in the super class, preventing compiler warnings.
Merge branch 'develop' into enable-widespread-memoization
Merge pull request #477 from BladeRunnerJS/enable-widespread-memoization

Enable widespread memoization