Rewrite of property handling to be more robust and compliant

* No more _stash
* Now using a "virtual table" system via _objectClass
* Make Array.concat GoArray compatible (via .isArray())

Fix #16
Add Object.freeze (sdgoij)
Change Export() to have new interface and slightly different behavior
No rush to change the interface of Value.Export()
Merge remote-tracking branch 'upstream/master'

Conflicts:
	builtin_array.go
	builtin_object.go
	evaluate_expression.go
	object.go
	object_test.go