Allow brd, label, scope on virtual_ipaddress.

New way of defining virtual_ipaddress(es), passing them in as an array of
hashes, allowing optional specification of dev, brd, scope and label.

Previously it was not possible to specify:

a) two virtual_ipaddresses on different devices
b) brd, label and scope attributes of virtual_ipaddress

even though keepalived allow them.
Fix breakage on ruby 1.9+
Stop 'invalid interval' messages in ruby 1.8
Use released versions of dependencies for specs.

So that upstream breakages/changes don't cause spurious test failures.