added test - array of objects
document level context
renaming emit to next to avoid overriding eventemitter
prevent users accessing real 'this'
fix wrongfully deem all non-string as objects
add defineProperty
fix crash on field with number
get around the closure issue
beautify
beautify
follow the random pattern
support document
support document
fix crash on number as field
added test for scoping
update me_in_a_nutshell.json
Merge pull request #18 from imlucas/feature/scoping

Feature/scoping

1. support scoping! (even on embedded document)
2. added relevant tests
3. fix the bug that causes crash when the field data is non-string (_.template(/*must be string*/ arg))

Feature preview (from updated me_in_a_nutshell.json):
```json
"scoping": {
  "name": "{{chance.name()}}",
  "greetings": "This is {{this.name}}. I got ${{this.bank.balance}}.",
  "bank": {
    "balance": 100
  }
}
```

P.S. It's been a rough afternoon. I was completely tortured by the behavior of closure. 
```js
var func = [];
for(var i in {one: 1, two: 2}) {
  func.push( function() { return i; } );
}
```
Both functions return 'two' because the function does not 'take a snapshot' of the variable.