Simplify array/single-value polymorphing

I ran into an issue with the `track_script` and `virtual_ipaddress`
settings when passing a single value rather than an array. Wrapping with
`Array()` fixed the issue for me. I decided to go through and use the
same strategy in a couple other places to simplify and limber up the
code a bit.

Specs passing locally on 1.8.7-p375, 2.0.0-p353, and 2.1.1
Bump version to 0.0.13
TravisCI: test puppet 3.5, 3.6
Add no_weight parameter on vrrp::script class

Despite what the keepalived documentation says default weight for a
script is not 2, if none is specified.  What happens instead is that if
no weight is specified, then the associated VRRP instances go into FAULT
state and go offline.  If noprempt is enabled, this appears to be the
only way to get the VRRP instance to track the state of the script.

This adds a new parameter to the keepalived::vrrp::script define to
allow specifying that the weight parameter should not be put in the
config file at all.  This is implemented this way, because many configs
probably don't have a weight specified because the class will provide a
weight config of '2' if none is provided.  Most people are probably
using this default.
support garp_master_refresh
Add test for garp_master_refresh
partially support virtual_routes
Bump version to 0.0.14
Add Guardfile