Added support for Cloudflare and multi domain support for namecheap

As featured at: https://support.cloudflare.com/hc/en-us/articles/200168816-Does-CloudFlare-work-with-Dynamic-DNS-Can-I-update-my-DNS-records-remotely-

Namecheap improvements: https://robertianhawdon.me.uk/2010/09/03/making-ddclient-work-with-multiple-domains-on-namecheap/
Right now I just have the default, with nothing changed, but I also tried it with this modified config:
```
######################################################################
##
## $Id: sample-etc_ddclient.conf 150 2013-04-28 14:55:34Z wimpunk $
##
## Define default global variables with lines like:
## 	var=value [, var=value]*
## These values will be used for each following host unless overridden
## with a local variable definition.
##
## Define local variables for one or more hosts with:
## 	var=value [, var=value]* host.and.domain[,host2.and.domain...]
##
## Lines can be continued on the following line by ending the line
## with a \
##
##
## Warning: not all supported routers or dynamic DNS services
##          are mentioned here.
##
######################################################################
daemon=0				# check every 300 seconds
syslog=yes				# log update msgs to syslog
mail=root				# mail all msgs to root
mail-failure=root			# mail failed update msgs to root
pid=/usr/local/var/run/ddclient/pid		# record PID in file.
ssl=yes					# use ssl-support.  Works with
					# ssl-library
# postscript=script			# run script after updating.  The
					# new IP is added as argument.
#
#use=watchguard-soho,        fw=192.168.111.1:80	# via Watchguard's SOHO FW
#use=netopia-r910,           fw=192.168.111.1:80	# via Netopia R910 FW
#use=smc-barricade,          fw=192.168.123.254:80	# via SMC's Barricade FW
#use=netgear-rt3xx,          fw=192.168.0.1:80		# via Netgear's internet FW
#use=linksys,                fw=192.168.1.1:80		# via Linksys's internet FW
#use=maxgate-ugate3x00,      fw=192.168.0.1:80		# via MaxGate's UGATE-3x00  FW
#use=elsa-lancom-dsl10,      fw=10.0.0.254:80		# via ELSA LanCom DSL/10 DSL Router
#use=elsa-lancom-dsl10-ch01, fw=10.0.0.254:80		# via ELSA LanCom DSL/10 DSL Router
#use=elsa-lancom-dsl10-ch02, fw=10.0.0.254:80		# via ELSA LanCom DSL/10 DSL Router
#use=alcatel-stp,            fw=10.0.0.138:80           # via Alcatel Speed Touch Pro
#use=xsense-aero,            fw=192.168.1.1:80          # via Xsense Aero Router
#use=allnet-1298,            fw=192.168.1.1:80          # via AllNet 1298 DSL Router
#use=3com-oc-remote812,	     fw=192.168.0.254:80	# via 3com OfficeConnect Remote 812
#use=e-tech,                 fw=192.168.1.1:80          # via E-tech Router
#use=cayman-3220h,           fw=192.168.0.1:1080        # via Cayman 3220-H DSL Router
#
#fw-login=admin,             fw-password=XXXXXX		# FW login and password
#
## To obtain an IP address from FW status page (using fw-login, fw-password)
#use=fw, fw=192.168.1.254/status.htm, fw-skip='IP Address' # found after IP Address
#
## To obtain an IP address from Web status page (using the proxy if defined)
## by default, checkip.dyndns.org is used if you use the dyndns protocol.
## Using use=web is enough to get it working.
## WARNING: set deamon at least to 600 seconds if you use checkip or you could
## get banned from their service.
#use=web, web=checkip.dyndns.org/, web-skip='IP Address' # found after IP Address
#
#use=ip,                     ip=127.0.0.1	# via static IP's
#use=if,                     if=eth0		# via interfaces
use=web					# via web
#
#protocol=dyndns2				# default protocol
#proxy=fasthttp.sympatico.ca:80			# default proxy
#server=members.dyndns.org			# default server
#server=members.dyndns.org:8245			# default server (bypassing proxies)

#login=your-login				# default login
#password=test					# default password
#mx=mx.for.your.host				# default MX
#backupmx=yes|no				# host is primary MX?
#wildcard=yes|no				# add wildcard CNAME?

##
## dyndns.org dynamic addresses
##
## (supports variables: wildcard,mx,backupmx)
##
# server=members.dyndns.org,		\
# protocol=dyndns2			\
# your-dynamic-host.dyndns.org

##
## dyndns.org static addresses
##
## (supports variables: wildcard,mx,backupmx)
##
# static=yes,				\
# server=members.dyndns.org,		\
# protocol=dyndns2			\
# your-static-host.dyndns.org

##
##
## dyndns.org custom addresses
##
## (supports variables: wildcard,mx,backupmx)
##
# custom=yes,				\
# server=members.dyndns.org,		\
# protocol=dyndns2			\
# your-domain.top-level,your-other-domain.top-level

##
## ZoneEdit (zoneedit.com)
##
# server=dynamic.zoneedit.com, 		\
# protocol=zoneedit1,			\
# login=your-zoneedit-login,  		\
# password=your-zoneedit-password	\
# your.any.domain,your-2nd.any.dom

##
## EasyDNS (easydns.com)
##
# server=members.easydns.com, 		\
# protocol=easydns,			\
# login=your-easydns-login,  		\
# password=your-easydns-password	\
# your.any.domain,your-2nd.any.domain

##
## Hammernode (hn.org) dynamic addresses
##
# server=dup.hn.org,             	\
# protocol=hammernode1,         	\
# login=your-hn-login,           	\
# password=your-hn-password      	\
# your-hn-host.hn.org,your-2nd-hn-host.hn.org

##
## dslreports.com dynamic-host monitoring
##
# server=members.dslreports.com		\
# protocol=dslreports1,			\
# login=dslreports-login,		\
# password=dslreports-password		\
# dslreports-unique-id

##
## OrgDNS.org account-configuration
##
# use=web, web=members.orgdns.org/nic/ip
# server=www.orgdns.org 		\
# protocol=dyndns2 			\
# login=yourLoginName 			\
# password=yourPassword 		\
# yourSubdomain.orgdns.org

##
## dnspark.com
## (supports variables: mx, mxpri)
##
# use=web, web=ipdetect.dnspark.com, web-skip='Current Address:'
# protocol=dnspark,			\
# server=www.dnspark.com,		\
# your-host.dnspark.com

##
## NameCheap (namecheap.com)
##
# protocol=namecheap,				\
# server=dynamicdns.park-your-domain.com,	\
# login=my-namecheap.com-login,			\
# password=my-namecheap.com-password		\
# myhost.namecheap.com

##
##
## Loopia (loopia.se)
##
# use=web
# web=loopia
# protocol=dyndns2
# server=dns.loopia.se
# script=/XDynDNSServer/XDynDNS.php
# login=my-loopia.se-login
# password=my-loopia.se-password
# my.domain.tld,other.domain.tld

##
##
## ChangeIP (changeip.com)
##
## single host update
# protocol=changeip,                   \
# login=my-my-changeip.com-login,      \
# password=my-changeip.com-password    \
# myhost.changeip.org

##
## DtDNS (www.dtdns.com)
##
# protocol=dtdns,
# server=www.dtdns.com,
# client=ddclient,
# password=my-dtdns.com-password
# myhost.dtdns.net, otherhost.dtdns.net

##
## CloudFlare (www.cloudflare.com)
##
protocol=cloudflare, \
zone=server.canadanewyork.com, \
server=www.cloudflare.com, \
login=<login>, \
password=<apikey> \
server.canadanewyork.com
```