removed $ from registration names

In using minioc, especially with minioc-loader, I began to realize that everything I stored in minioc was prefixed with $ so that it could be injected into fulfilled functions.  I think this makes sense on the function signature, where $ means it's required, but not in the registration names.  Consider: after creating a "log" registration you decide to inject it into a function call and have to either rename it to "$log" or create another duplicate registration with that name.

With these changes, all registrations assume natural names (e.g. "log") and a "$" would only be used on the function parameter (e.g. "function($log) { }") if the parameter is required.  Additionally, if minioc is fulfilling a function and happens to have a non-required registration ("function($someRequiredThing, log) { }") then it would be injected.  Explicitly passed function options override optional injections.

All tests and examples passing.