Add foreign_key_type option to add_reference

When adding reference using add_reference method, integer is hardcoded type for foreign_key. This PR makes it possible to set any foreign key type (this is useful when using i.e. `uuid`).

Let me know if there is something to add here or if you want to have this option in `add_reference` method at all.