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 allows them.

I think that specifying virtual_ipaddress as a hash or array of hashes makes
most sense, but I've left in backwards compatibility for the existing strings 
and array of strings.