Merge pull request #1 from romerod/master

Support factory interface inheritance
Minor cleanup.
Merge pull request #2 from romerod/master

Support generic Create methods.
Improve error messages.
Merge remote-tracking branch 'origin/master'
Allow matching with constructors which do not take all parameters from the factory method.
Fix constructor selection logic for some edge cases.
Inject the factory instance instead of create a new one.
Code cleanup.
Merge pull request #3 from minidfx/selfInjected

Allow the factory interface to be passed as an argument to the factory method.
Update README.md
Try to fix issue with multiple fields with the same name being generated.
Fix issue with multiple fields with the same name being generated.