Support for overriding modules

- new function is added (override), which acts the same as define
with the difference that if the module hasn't been initialized yet,
it will be replaced with new version.
- this overriding is useful when almond is used for dependency injection,
and dependencies needs to be replaced for testing purposes.