Refactor primary key option

- Replace `primaryKey` and `primaryKeyType` with a `primaryKey` object. 
- Add `defaultValue` to `primaryKey` object.

Example:
From
```
{
    ...,
    primaryKey: 'id',
    primaryKeyType: Sequelize.STRING
}
```

To
```
{
    ...,
    primaryKey: {
        name: 'id',
        type: Sequelize.STRING,
        defaultValue: functionToGenerateCustomId
   }
}
```