Added foreign_id and extra_data fields

The foreign_id field is supposed to be used to hold the account/group id
from the external datastore.  The extra_data field is a JSON field that
can be used to hold extra data specific to a datastore.

Change-Id: I4c06bea6adfbadc1c691392d3c4e3a0f860ed216