Fix for persisting classes with parameterized ForeignCollection in supertype (issue #10)

This fix allows to persist constructs like

```java
public abstract class AbstractTest<T> {

    @DatabaseField(generatedId = true)
    int id;

    @ForeignCollectionField
    ForeignCollection<T> values;
}

@DatabaseTable
public class Test extends AbstractTest<Value> {
}

@DatabaseTable
public class Value {

    @DatabaseField(generatedId = true)
    int id;

    @DatabaseField(foreign = true)
    Test test;
}
```