allow to support multiple nics per host
currently foreman just holds the info about host primary interface + potentially BMC information.
foreman should be able to know about multiple nics in differencet scenarios.
fixes #1814 - converts sp_* attributes into a BMC interface class
this patch also includes the following
- added a new interfaces table, and STI objects to represent a NIC, BMC, Managed
and a bootable interface.
- refactored DHCP/DNS orchestation code, so they can work on the
interface objects and on the primary interface information that still
reside in the hosts table.
- added basic UI for interface selection
this refactor also helps to simply refactoring the host object into