added jasmine library for writing test cases
added pluginmanager to manage loading and unloading plugins along with their dependencies
overall refactor of project to allow dynamic loading and unloading of plugins at runtime.