fix a bug where passing "zero values" wasn't working properly
fix a bug where passing "zero values" wasn't working properly

consider a function that takes a float argument with non-zero default value:
foo(series, argument=13.37)

now consider the following the following call:
foo(bar, 0.0)

this didn't work as expected because of an extra "zero value" check in
doGetFloatArgDefault():

    f := e.val
    if f == 0 {
        return v, nil // v is 13.37

by the time we reach doGetTypeArgDefault this check becomes superfluos as all
the necessary validation has already happened:
    named arguments are guaranteed to have a value, no check needed
    for positional arguments we have a length check in getTypeArgDefault()

the same applies to arguments of other types when passed their respective "zero
value", as specified in the language spec
(see https://golang.org/ref/spec#The_zero_value)

errx/carbonapi,dgryski/carbonapi,errx/carbonapi,nnuss/carbonapi,arodland/carbonapi