Made Foxx.Repository methods behave more consistently (fixes #975)

This PR fixes #975 and makes some smaller adjustments (e.g. falling back to `model.get("_key")` in the id-based methods if `model.get("_id")` is empty and allowing models and update objects interchangeably where-ever that would be apropriate).