Rewrite nova policy to use the new changes of common policy

The oslo has rewritten the common policy for a long time, using a
Enforer class to replace the old check function. In order to sync the
common policy to nova, We have to also changed the nova policy and
related unittests.
Sync policy and relate module from Oslo.
   Some related change-id:Ife909bdf3277ef33c2fb1eae16ae261fa6374c63
                change-id:Ife84189be4b86a3ee90da4539ff2dbed125be23d

Closes-Bug: #1288178

Change-Id: Ic106851a24cfdc9d847f7d0e0d8a6ecbff888e05
Revert "Fix migration and instance resize update order"

This reverts commit 6dd5cc503cc05c00c5f9d831480539c67f6e2a48.

Change-Id: Id438276c3d71155ad6a9dfd31280a49e39905ae5
Closes-Bug: #1326778
Merge "Revert "Fix migration and instance resize update order""
Merge "Rewrite nova policy to use the new changes of common policy"