Delay kicks in initial handler.

See source for reasoning
Implement Security Manager

This commit adds the basis for the intergration of a security manager into BungeeCord. The goal of the security manager is to prevent plugins from doing potentially dangerous or otherwise undesirable behaviour that may damage the stability of Bungee itself or pose a risk to the user's server.

One common theme in some Bungee plugins, especially those which were written in the very early days, is using Threads and ExecutorServices for scheduling purposes. Not only is this inefficient as there is no use of the thread caching features provided by the scheduler, it is also difficult to track who created which thread. Additionally creating threads not managed by the BungeeCord scheduler poses issues for when|if a plugin reload system is implemented, as these threads cannot be appropriately cleaned up and may continue to leak class references or perhaps even continue executing.

At this stage the SecurityManager is set to warn of prohibited actions, but not block them. For some plugins using external APIs, where usage of an ExecutorService is unavoidable, we have included an Unsafe interface to the scheduler which allows direct access to the underlying ExecutorService, or potentially a compatability wrapper.
Pass plugin into executor getter for future proofing
Close #1105 - don't let security manager get replaced
Fix #1106 - plugins using ssl throwing exceptions
<yawkat> is that debug code i spot md_5?
Block all of java, not just java.lang
Add basis of grouped thread factory and make the scheduler use it.
Override context specific permission check
Fix some static analysis warnings.
Fix some more static analysis warnings
[#1111] Ignore scorebaord objective action 2 like we did before
Fix some more things picked up by static analysis.
Restrict access to some internal methods.
Fix TranslatableComponent's handling of missing translations
Cipher thread locals should be static
Fix some out of style formatting.