distros: add new distros files

Add some new distros files.

Update the rpm spec file.
put distros files in kimchid pakage.

update the Makefile
put distros files in dist_conf_DATA list

Signed-off-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com>
Reviewed-by: Aline Manera <alinefm@linux.vnet.ibm.com>
Reviewed-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
distros: add a DistroLoader to load distros

The distro iso links will be stored in /etc/kimchi/distros.d/

A basic DistroLoader class that reads all of the files and produces
a python array identical to the osinfo array.

Adam Litke suggested:
The distros files cannot be updated at runtime.
The only thing kimchi needs to do with the files in /etc/kimchi/distros.d
is read them to create a large json list of template objects.
It will never write to those files.

user can create a file in /etc/kimchi/distros.d by installing / upgrading
a package

Signed-off-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com>
Reviewed-by: Aline Manera <alinefm@linux.vnet.ibm.com>
distros: update API document

add a distros API

Signed-off-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com>
Reviewed-by: Royce Lv<lvroyce@linux.vnet.ibm.com>
Reviewed-by: Aline Manera <alinefm@linux.vnet.ibm.com>
distros: update Controller to add Distros collection and Distro resource

add Distros collection and Distro resource

The flow of Distros GET method is same with the VMs GET method

Signed-off-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com>
distros: add mockmodel and model implementation

The distros information can be accessed by GET /config/distros

The JSON will be like:
[
  {
    "name": "opensuse-12.3",
    "os_distro": "opensuse",
    "os_version": "12.3"
    "path":"http://distro.org/distro.iso",
  },
  {
    "name": "fedora-19",
    "os_distro": "fedora",
    "os_version": "19"
    "path":"http://distro.org/distro.iso",
  },
]

The distro informations can be accessed by GET /config/distros/ident

GET  /config/distros/opensuse-12.3
The JSON will be like:
{
  "name": "opensuse-12.3",
  "os_distro": "opensuse",
  "os_version": "12.3"
  "path":"http://distro.org/distro.iso",
}

Signed-off-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com>
distros: update testcase in test_rest and rest_model

test the GET of Distros collection and GET of Distro resource.

Signed-off-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com>