Take a look at Affinity CRM (http://www.affinityinformatics.com). They should be handle all the above and they're running a couple of really good deals through the end of July.