Add some function to resolv service, mx and ns entries.
 Now the callback receive all the RRs (answers, authorities and additionals).

- Add evdns_base_resolve_service
- Add evdns_base_resolve_ns
- Add evdns_base_resolve_mx
- Add struct evdns_reply
- Change the evdns_callback_type prototype

 Modify sample/dns-example to reflect changes.
- free() replies if error in reply_parse()
- fix evdns_getaddrinfo_gotresolve by testing if the reply is of rr_type DNS_RR_ANSWER
Add evdns_reply_free()
Save the origin name of the request in the reply
Switch to union for evdns_reply
Change sample/dns-example to reflect changes
Re-add ttl in callback arg
 Fixes error when no data.
 Update getaddrinfo
 Remove hack for cname (probably more to remove)

 Update regress_dns.c to reflect changes.
 Remove all put_cname_in_ptr use.
 Remove n because we have the origin in the reply now.