Use a node-friendly export mechanism

* Rename main fn `injector()`.
* Explicitly put it on window if in browser, or on exports if in node.
Write some tests to reduce chance I will break stuff

* Didn't use a framework to keep things as lightweight as possible.
No need to preface these vars w/ _ - they are local
Put all export code together
Make main injector() pass along context, if supplied
When would the user not want to declare deps?
Tabs to spaces

* Sorry - should have done this earlier.
Not declaring vars upfront

* Whether to do this seems to be mostly a matter of personal taste.  The rationale, as I understand it, is to avoid confusing hoisting semantics.  But, to me, it makes the code much more verbose and allows the introduction of an accidental global.  Accidental globals have indirect effects which makes them harder to track down and more widely dispersed.
* I've changed this fn as an example, but will leave the others as they are.
Deregistration?
callOnce required for value()?
This line is redundant
Merge pull request #1 from maryrosecook/code-review

Code review