Fixed issue where circular dependencies in dependency tree would cause infinite recursion in "flatten" function.

Fixed issue where circular dependencies in dependency tree would cause the flatten function to infinitely recurse. If the current key is found to be already in the data object (which means it was already processed), we stop processing that key and return the data object.

Resolves: https://github.com/davglass/license-checker/issues/22