Define common "name" parameter for Nova v3 API

Nova v3 API contains 'name' parameters such as aggregate, backup,
flavor, keypair and server. The validation way of each parameter
is different like the following because of just porting it from v2
APIs:

  Resource  | Length  | Pattern
 -----------+---------+----------------------------------
  aggregate | 1-255   | nothing
  backup    | nothing | nothing
  flavor    | 1-255   | '^[a-zA-Z0-9. _-]*[a-zA-Z0-9_-]+
            |         |   [a-zA-Z0-9. _-]*$'
  keypair   | 1-255   | '^[a-zA-Z0-9 _-]+$'
  server    | 1-255   | nothing

All of them are stored in the DB, and it would make APIs consistent if
applying the same validation way to all APIs.

This patch adds the validation way for all 'name' parameters.

Partially implements blueprint nova-api-validation-fw

Change-Id: I05391a03f383cac1d475cd4266cf7f5ced664f9e
Merge "Define common "name" parameter for Nova v3 API"