fallocate image only when user has write access

Libvirt will change instance's ownership when the instance became power
off which will make nova-compute service unable to hard reboot instance
bacause the nova-compute service has not write access. This commit will
allocate space for image only the first time we create image.

Fixes bug: 1200113
Conflicts: nova/tests/test_imagebackend.py
Change-Id: Id81b09ade5f870665f5ffabab3cde144c6dec210
Cherry-picked: c246fb37e20197be27264a36515725233085df1d
Merge "fallocate image only when user has write access" into stable/grizzly