Support non-integer belongs_to foreign_key type
Added :foreign_key_type option to @queryable_defaults

The :forgein_key_type option allows users to set the default type
for any belongs_to association foreign keys.
Add test to ensure that :type option to belongs_to/3 overrides any option specified in @queryable_defaults
cleanup ugly code in lib/ecto/entity.ex
Merge pull request #143 from TanYewWei/issue-142

Support non-integer belongs_to foreign_key type