Make ssh key injection work with xenapi agent

If there's 'key_data' on an instance, and instance is not Windows, use
file injection to inject /root/.ssh/authorized_keys.  If a user
specifies their own /root/.ssh/authorized_keys via 'injected files',
that will take precedence.

Fixes bug 1152713

Note: Images for Xen that use nova-agent will need to have /root/.ssh
pre-created with modes 0700 on those directories.

DocImpact

Change-Id: I190c6b3f67099061b5316baa45b8bfcd1a5e53f6
Update migration 153 for efficiency.

Currently migration 153 inserts 10 rows per instance in the database.
For new/small installations this is relatively quick, but for large
installations this can take some time.

This change modifies the migration to only insert records for
non-deleted instances and makes bulk inserts (10 rows are inserted
with each query, instead of 1 per query) for added speed.

Fixes bug 1155371

Change-Id: I88a6cec2c117368fda6eefd82150106a1542027d
rstrip() strips characters, not strings

Fixes bug 1155761

This use of rstrip() could end stripping off more than just the ".gz"
suffix if the filename contains any of the ".gz" characters at the end
of the string.

Change-Id: Id75388453f286ca7b05bab51c9826c43c10ef516
Merge "Make ssh key injection work with xenapi agent"
Merge "Update migration 153 for efficiency."
Merge "rstrip() strips characters, not strings"