Fix the fencing type and move it to model

fixes BZ #1143047
BZ #1117462 - Make all needed equallogic backend fields into array

The thin_provision, use chap, chap login, chap password, and
backend_name were not set as arrays. This makes them into arrays, and
will then pass the correct values to puppet manifest.
MAC of default gateway interface

Related to https://bugzilla.redhat.com/show_bug.cgi?id=1142295

Updated version of PR #312 with a bug fix.
Merge pull request #314 from bcrochet/bz/1117462

BZ #1117462 - Make all needed equallogic backend fields into array
Fencing: controller override refactor

Use concern to add functionality to HostsController in Foreman instead
of subclassing it in Staypuft and modifying the url in the hosts#edit
form.
Adds mock Fencing model to Host

- pre-populates fencing fields on hosts#edit
- user can disable fencing

partially fixes BZ #1144649
Fencing: refactor controller concern to use mock model

Refactor the fencing controller concern to use the mock Fencing model
on Host. With this approach, the request params no longer need to be
mofified manually, and allows the usage of validations on the mock
model. The patch also adds a validation of the presence of the
fencing_type value.

partially fixes BZ #1144649
Disable Fencing form if the Host has no BMC interface

partially fixes BZ #1144649
Merge pull request #313 from ifarkas/fencing_fixes

Fencing UI fixes and improvements
Merge pull request #316 from sseago/gateway-mac

MAC of default gateway interface