Raise ArgumentError if IP is nil

We end up doing a lot of calculations before actually instantiating an IPAddress object. Occasionally we end up passing a nil value which results in:

    pry(main)> ip = IPAddress::IPv4.new(nil)
    NoMethodError: undefined method `split' for nil:NilClass

This PR raises the same exception that is raised for invalid input when given nil input.