Added Api Provider interface we will see if this will work
Refactor is almost complete.

Rebuilt the ApiDictionary to implement IDictionary and included logging.
Removed unneeded coupling in as many classes as I could
Setup the script apis to take interfaces and pass them out to the script
world.

AllProgramsProcessor is still all coupled and violates type safety...
I have also noticed that AllProgramsProcessor trys and launch programs
that the LuaScriptProcessor control of.  Meh for now since it is already
launched ProcessApi ignores the request
Merge pull request #11 from GregoryLand/ApiProviderRefactor

Api provider refactor