refactor out replacement into strategies to allow different replacement actions
have javascript to java execution running
Merge branch 'master' into local_config
switch from deprecated junit
have javascript file loading and functions being called determining type
1. change from rhino to script engine to allow better error handling
2. log javascript errors as warnings
3. Change script parameter ordering so least used comes last and can be ignored
Refactor and make scriptengine switchable to groovy

Notes for phpstorm operation can be found here https://github.com/pbyrne84/DynamicReturnTypePluginTestEnvironment/blob/local_config/GroovyReplacementCallback.groovy
throw ScriptException if script engine was not created
remove unneeded  null check as initialisation raises  exception if invalid
change version number so full release should prompt upgrade
pass script file location down to enable better error logging
update documentation
change formatting
fix inaccuracies
1. Change json key to control callbacks
2. Add api for calling from running script
3. Update documentation
4.Change script error handling to output to event log.
update deployable zip
1. refactor script config out into small objetcs to be passed through the api
2. Remove the php info being passed as a parameter to the scripts as it will be part of the api(less clutter)
remove parameters in documentation as they are not part of api( they are immutable )
update api
update plugin to have api changes etc.