fixes ExecutableFactory and ExecutableFactoryTest for merging
refactors the code related to generic types

Before, there was three places for storing actual generic types (as opposed to declaration of generic type parameters):
in CtInvocation, in CtExecutableReference (setParameterTypes), in CtGenericReference.

Now, everything has been unified in a single place: CtGenericReference.
This facilitates much writing analysis and transformation of generics.

All tests pass after the refactoring.
Merge pull request #86 from monperrus/refactoring-generics