Fix error in NovaBase.save() method

There is a bug in sqlalchemy with eventlet that doesn't allows us to use
session.flush() without explicit transaction.
If somethings went wrong in DB and rollback is called it will try to
raise NoneType.

I found only one way to handle this situation.
We should start transaction (or subtransaction if it already exists in session)
explicitly.

Fixes bug 1098692

Change-Id: I12cd643500e341a013cd7c963cb5d1a0106c7940
Merge "Fix error in NovaBase.save() method"