[WIP] data structures for resources

This PR introduced some data structure to represent resources.
@yifan-gu I thought about it. For quantitative resources like milliCPU, it would be fine, ``Add()`` could be defined as ``Add(uint64)``.

However, how can we deal with categorical resources? Like NICs, the ``Add()`` method should be ``Add(string)``.

We could make it ``Add(interface{})`` but I'm trying to not use ``interface{}``.