Fix to integer cast of length in console output extension

This fixes a small issue when you try to use console output length as a
float point value (as a float point itself not as string).
The extension was behaving as expected due to impossibility to fulfil the
request, returning bad request, but now this check in completelly done in api
level (it was partially done before) instead of wait until it fails behind the
rpc call.

Naturally a test was added to explicit it and avoid future regression.

related to blueprint nova-v3-api

Change-Id: Ifd7ce90dfd88acc8b22e7d190eafc3dd686186e9
Port os-console-output extension to API 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: I7e3519b2367184b34ac7e4df3edf7df38c870a02
Add unique constraints to Service.

Added unique constraints 'uniq_services0host0topic0deleted'
('host', 'topic', 'deleted') and 'uniq_services0host0binary0deleted'
('host', 'binary', 'deleted') to Service model and migrate sripts.
Added new exceptions `ServiceTopicExists` and `ServiceBinaryExists`.
Updated service_create(). Tests updated respectively.
Tests in test_compute updated to avoid conflicts with Service UC.

blueprint db-enforce-unique-keys

Change-Id: I4d9d8cf38afc2fdca3eead65fced5001a1af209e
Merge "Add unique constraints to Service."
Merge "Fix to integer cast of length in console output extension"
Merge "Port os-console-output extension to API v3 Part 1"