Various tweaks and bug fixes.

* Remove has_id(), it's equivalent to ``_id is None``. Document this.
* Remove custom _id() property, extend the new Field class with a
  readonly=True, and set it by default for _id.