improved compatibility with node and node console

All tests are passing.

Usage: 
```
und = require('underscore'); 
observableMixin =  require('./assets/js/lib/underscore.observable.js'); 
observableMixin(und);
```

Maybe it should be taking a guess at the existence of the _ variable when it's loaded via require?