Added initial tests for ScriptExecutor

* Abstracted Session and ScriptEngine into interfaces.
* Created wrapper classes for Session and ScriptEngine.
* Updated ScriptExecutor to depend on interfaces not implementations.
* Created 4 unit tests for ScriptExecutor.