Mark fields changed only when value is different

Currently `Jam_Validated` put a field in the `_changed` array
whenever a value is set. It doesn't matter if the value being set
is a new one or the same as before.

This is a limitation of the associations and `Jam_Model`. It is hard
to know if the association has changed.

But it is very easy for fields.

This involves changing tests and validation accordingly

The model tests so far did not test things logically.

The tests for the Sortable behavior started with some strange fixture
data and therefore some tests regarding the position field were affected.
Merge pull request #39 from OpenBuildings/changed-fields

Mark fields changed only when value is different