[WIP] data structures for resources

This PR introduced some data structure to represent resources.
This is used to work with categorical values.

For example, if we want to represent two NICs:
```
{
  "nic": {
    "eth0": {
      "type": "nic",
      "name": "eth0"
    },
    "eth1": {
      "type": "nic",
      "name": "eth1"
    }
  }
}
```

Also, we could say which block device should have how many resources:
```
{
  "block_dev": {
    "block_dev_0": {
      "type": "block_dev",
      "name": "block_dev_0",
      "value": 100
    },
    "block_dev_1": {
      "type": "block_dev",
      "name": "block_dev_1",
      "value": 200
    }
  }
}
```