Validate parameters of agent API

The agent API has some parameters, but they are not validated.
Each parameter is stored to the table "agent_builds", and each column
is defined as varchar(255).

mysql> desc agent_builds;
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| created_at   | datetime     | YES  |     | NULL    |                |
| updated_at   | datetime     | YES  |     | NULL    |                |
| deleted_at   | datetime     | YES  |     | NULL    |                |
| id           | int(11)      | NO   | PRI | NULL    | auto_increment |
| hypervisor   | varchar(255) | YES  | MUL | NULL    |                |
| os           | varchar(255) | YES  |     | NULL    |                |
| architecture | varchar(255) | YES  |     | NULL    |                |
| version      | varchar(255) | YES  |     | NULL    |                |
| url          | varchar(255) | YES  |     | NULL    |                |
| md5hash      | varchar(255) | YES  |     | NULL    |                |
| deleted      | int(11)      | YES  |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+

This patch adds the validation with the type and the length.

Closes-Bug: 1240458

Change-Id: Id06235ebde62f7b96c55b0bd2be5d941bfd2e999
Merge "Validate parameters of agent API"