Add Instance.security_groups

This makes Instance load the security_groups list when it
is present in the database object.

It also refactors the way info_cache is saved, so that it
can more easily apply to security_groups as well.

Related to blueprint unified-object-model
Fixes bug 1192003

Change-Id: Ifb028e17ffef7c14557e6389a650d66ce8e9b25c
Make InstanceList filter non-column extra attributes

This is a no-op right now, but we need to avoid passing things
like fault to the instance_get_all() queries. This will be used
in changes to follow.

Related to blueprint unified-object-model

Change-Id: I66355a024b139fa6c579e04885ba52f9697381fe
Merge "Add Instance.security_groups"
Merge "Make InstanceList filter non-column extra attributes"