Pass user_creds_id into nested stacks

To avoid creating additional user_creds entries for every nested
stack, pass in the parent/owner stack user_creds_id.  This means
updates will work with trust-scoped tokens, and will remove the
overhead of creating a new trust for every nested resource.

This will also avoid the potential situation where a stack has been
updated (adding nested stacks) by a user other than the original
stack owner - if that happened, it would be impossible to delete
the stacks (owner and nested) as any user other than an admin,
due to restrictions on who can delete the trust.

Note the delete logic is modified so nested stacks no longer delete
the user_creds ID.  If we stick with this simple logic, it will
mean it's necessary to either delete all stacks before upgrading
or do a manual DB query to clean up any orphaned user_creds rows
when existing nested stacks are deleted (such a cleanup is probably
already necessary due to the previous patch fixing user_creds
handling for backup stacks)

Also modifies the stub_keystoneclient test call to make stubbing
the client in the parser test easier.

Change-Id: Id1fb89c92af48777b0487015d5048af34b33af76
Closes-Bug: #1342593
Merge "Pass user_creds_id into nested stacks"