fix(duplicateModules): save original `requires` property to distinguish modules

By the time a module is created using the orginal `angular.module` function,
it is impossible to distinguish a module created with `angular.module("name", [])`
and a module being updated with `angular.module("name")` based on the second
parameter, as the original `angular.module` function converts the undefined parameter
to an empty array. Hence, to distinguish these cases we save the original value
of that parameter. Only when the original value of the parameter is identical to
that of a new module are they actually identical.

#15