interface: some new utils to get the interface info

with this utils:
we can probe the type of interface.
we can get the information of an interface.
we can list vlan, bond, bridge and internet interface.

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

Define get API for interfaces collection.
Define get API for interface resource.

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

define Interfaces collection and Interface resource according to API.md

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

model implements these fuctions:
list all favored interfaces
lookup a interface

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

mockmodel implements these fuctions:
list all interfaces
lookup a interface

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

update test_rest and test_model

Signed-off-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com>
interface: update makefile, spec file and README

Add the extra python lib in spec file and README
add the new pythons files in source dist list of makefile

split this as individual patch.
come into notice that every new file we should put in the dist list
and every new python lib we should update spec file and README

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