Added environment isolation + more flexible constructors

- env[:] now returns an isolated environment (doesn't register caller
as parent)
- new_* object constructors can now be called as new_value('a', 1, 'b',
2, c=3, d=4)
- set_value can now also be called as above
- added some unit tests to cover that
- added isolation unit tests from shiny