Add parser.Stack support for stack_domain_projects

Add a DB column to store the project created to contain instance-users
associated with resources in the stack.  To avoid the overhead of creating
a project for all stacks (and associated test impact), we introduce a
setter which can be used by InstanceUser resources to set the project
ID, such that it's cached at the stack level (no need to look up the ID
in keystone every time) and so the stack can clean up the project when it
is deleted.

Change-Id: Iea3624afbc4d746f46cd58d50e7b238bc847fa49
blueprint: instance-users
Merge "Add parser.Stack support for stack_domain_projects"