GlusterFS: Use correct base argument when deleting attached snaps

When deleting the most recent snapshot, the 'file_to_merge' field
which translates into the base= field for libvirt's blockRebase
call in Nova must be set depending on whether other snapshots exist.

If there are no other snapshots, base = None, which results in
libvirt clearing the qcow2 backing file pointer for the active
disk image.

If there are other snapshots, pass the parent of the file being
deleted as the new base file.  The snapshot info pointer for the
prior base file must also be updated in this case.

Closes-Bug: #1262880

(cherry picked from commit 186221779a92002ff9fa13c254710c0abb3803be)
Conflicts:
	cinder/tests/test_glusterfs.py

Change-Id: If7bc8259b031d0406346caafb8f688e65a38dba6
Merge "GlusterFS: Use correct base argument when deleting attached snaps" into stable/havana