/*
 * call-seq:
 *   Curl::Easy.new                                   => #<Curl::Easy...>
 *   Curl::Easy.new(url = nil)                        => #<Curl::Easy...>
 *   Curl::Easy.new(url = nil) { |self| ... }         => #<Curl::Easy...>
 *
 * Create a new Curl::Easy instance, optionally supplying the URL.
 * The block form allows further configuration to be supplied before
 * the instance is returned.
 */
static VALUE ruby_curl_easy_new(int argc, VALUE *argv, VALUE klass) {