Port user_data API to v3 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: If8075f202800f333753aa571fc3acf5b1a9f4880
Merge "Port user_data API to v3 Part 1"
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp