Use min_ram of original image for snapshot, even with VHD

When snapshotting an instance there seems to be no reason that min_ram
can't be set based off of the original image in all cases.  This relaxes
the restriction that VHD backed instances set min_ram for snapshots
based on the current instance.

Bug 1133524

Change-Id: I3779c48d7325f3f0bde496f43a70017fe79d2835
don't stack trace if long ints are passed to db

If we pass a integer, which is longer than the id field in the
database, but a valid python integer into any of the REST API
calls SQLalchemy throws a DataError, and the user sees a 500
instead of InstanceNotFound. This can be triggered by using a
id of 9223372036854775808 (for instance).

This issue is seen on postgresql, mysql and sqlite don't hit it.

Instead, catch the DataError exception, and return an InvalidID
exception. If InvalidID is thrown catch that at the API layer
and return the expected not found.

This was caught when reenabling tempest tests for bug #1046870
and is one of serveral patches in nova needed to enable
test_servers_negative.py in tempest.

Change-Id: I6130863a95567eabd3ae05a09e4a9f26bb5f5098
Merge "don't stack trace if long ints are passed to db"
Merge "Use min_ram of original image for snapshot, even with VHD"