Add servers array to REST resources which includes serverId.

Current json objects such as events.json doesn't includes server
names. Although they can be fetched from serfers.json, users may want
to reduce number of requests. We think there are two approaches to
solve this issue:

1. Add "serverName" field to each event objects in events.json.
2. Add servers array to events.json.

This commit is a later approach. An advantage of this approach
against former one is it can reduce duplicated serverName values.

Although above issue fucuses only to server names, currently objects
in the servers array includes all fields of a server config.
Unnecessary fields may be removed later.
Replace servers array in some REST resources with id:name hash
Fix key name of server id & server name table.

servers ->
serverNames
Fix format of server id & name table in events, targets and items.

Because we are planning to move hostId & hostName in events, targets
and items to servers table, "serverNames" is renamed to "servers"
and add "name" keys to server names.

Example of planning format of events.json:

{
 numberOfEvents: 10,
 events: [...],
 servers: {
   1: {
     name: "Server 1",
     hosts: {
       1: { name: "Host 1" },
       2: { name: "Host 2" },
       ....
     }
   },
   2: {
     name: "Server 2",
     hosts: {
       1: { name: "Host 1" },
       2: { name: "Host 2" } ,
       ....
     }
   }
   ...
 }
}

Host ids & names will be move to it later.
Add std::string version of JsonBuilderAgent::startObject()
Use std::string version of JsonBuilderAgent::startObject()
Fix wrong order of members in events.json
Move hostId & hostName in "events" & "triggers" objects to "servers" object.

It's only a temporal solution, not a final solution. Currently it
collects "hostName" values in EventInfo & TriggerInfo. Though we
should add a new table "hosts" to VirtaulDataStore and fetch
host names from it.
Always add "hosts" object even if it is empty.
Fix indent
Fix style of for statement