Retry quota_reserve on DBDeadlock

quota_reserve() can raise DBDeadlock... so this adds the decorator that
retries the transaction.

Fixes bug 1193199

Change-Id: Id632360372b21f3e75a2af50153eb18cc2025390
Cells: Pass object for start/stop

The compute_api start/stop methods expect an Instance object, but cells
is still passing the dict or sqlalchemy form.

Fixes bug 1191040

Change-Id: I21e0f0b5d7e3160e23c7a84f59ae3899538c7327
Port quota classes extension to v3 API Part 1

This changeset only copies the v2 files (implementation and test)
into the appropriate v3 directories unchanged. The copy as-is
will not be loaded by either the v2 or v3 extension loaders. The
second changeset will then make the changes required for it to
work as a v3 extension.

This is being done in order to make reviewing of extension porting
easier as gerrit will display only what is actually changed for v3
rather than entirely new files

Partially implements blueprint nova-v3-api

Change-Id: I328b32aee29021bae42cba5d97e0735e7b691ac9
Merge "Retry quota_reserve on DBDeadlock"
Merge "Cells: Pass object for start/stop"
Merge "Port quota classes extension to v3 API Part 1"
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp