Do not change the foreign key when setting string

When you have a `belongsto` association and you set a numeric string directly
to the association key the foreign key is changed, because of the strict check
for fields. (See #39)

Example:

    $post->blog = "5";
   $post->changed("blog_id"); // returns TRUE

Normally you would not assign a string for an integer foreign key, but when
you submit forms this is what happens.

    <input type="hidden" name="blog" value="5"/>

I have added tests for this use case and updated the unit tests for
`Jam_Association::primary_key()`.