[FIX] models: store FailedValue in cache on log_access fields, too

This should fix an issue discovered by tde when reading all fields on a record
on which you don't have access right:
 - _read_from_database() fetches result and store it in cache
 - read() retrieves values from cache, starting with field 'create_date'...
 - ... which is not in cache, so prefetch that field, read it, which goes into
   an infinite loop

The problem is that _read_from_database() finds out that you don't have access
on the record, and stores a FailedValue in cache on all fields... except magic
fields. Fix the problem by storing the FailedValue on all fields but 'id'.
[IMP] models: iterating over record._cache also returns log_access fields
Merge pull request #1037 from odoo-dev/8.0-accesserror-on-logaccess-rco

[FIX] models: store FailedValue in cache on log_access fields, too