New primitive engine, bugfixes: take 3

- new primitive emulation engine based on BoxesRunTime - no more hardcoded methods
- fix bug causing module to be reinitialized when usage goes in and out of scope - module in heap looked up by its symbol instead of by value
- add primitive and exception tests
Hm, ```reflectAny``` provides exact type for ```reflect[T](any: T, env: Env)(implicit ev: TypeTag[T])``` to store in ```JvmValue```.
So, it's not just for determining if an argument is a primitive.