Fixes restore from incremental backups for Percona

Restore from incremental backups is failing for percona. The root
cause is that the prepare starts running before the unpack is
finalized. This causes the prepare to fail when it cannot find
the xtrbackup_checkpoint file, which is obtained by unpacking the
decrypted file from swift. To fix it, i have moved the line that
checks for error in the stream to where child process is supposed
to finish. This will make sure that it will block until the
process is done. Since this line was moved, nothing special
occurs in __exit__. Since there is nothing special going on in
__enter__ either, i decided to remove it, thus removing the 'with'
keyword in backupagent.py.

Also 'self.process' and its pid doesnt need to be part of the
restore object. Due to the recursive behaviour of Restore, these
attributes didnt make sense. So i changed their visibility.

Change-Id: I234e0b2bb71ca90d53cfd8f9c51a159ddc2681c9
Closes-Bug: 1285291
Initial support for single instance MongoDB support

This code adds ability to create/delete instance
with mongodb service type. No other operations are supported.

Implements: blueprint single-instance-mongodb-ga

Change-Id: I3d2992dce02dec22d09cedee6bbfbf51286b9b3b
Merge "Fixes restore from incremental backups for Percona"
Merge "Initial support for single instance MongoDB support"