Allow dependencies to be specifically set as null

This means we can use noCallThru to put us in a "strict" dependencies
mode, where require('') calls will explicitly return null when we don't
want the dependency to be present. This is helpful for unit testing
premature exit points, where we want to ensure we don't use a dependency
(e.g. a Repository) when we don't want an action to happen.