Add debug flag, allow easier module development

Fixes #473 and #503

we now have a `debug` flag, because we don't want to emit PDB every time (performance hit and problem with double assembly in AppDomain):
 - REPL - uses `RoslynScriptEngine` (the basic one)
 - normal script with `debug` flag - uses `RoslynScriptInMemoryEngine`
 - normal script with `cache` flag - switch between `RoslynScriptEngine` (same as REPL) and `RoslynScriptPersistentEngine`

More discussions in #503

Additionally, we allow modules to be loaded not only from global location but also from bin and from local packages folder. This should help module development. since modules are quite expensive to init, I only enabled the extra location lookup when running with `debug` flag (since it's intended for development). We could change this if someone disagrees tho.