After looking at the site I found a couple of things -
1: His using the search terms plugin which is linking the term to a page = Use it but don't have it automating links, google hates it and I have seen sites take a small hit
2: You appear to link every now and again, this doesn't appear natural to google! You said you hire services out? Try and spread them out or get your sellers to spread a service out over a few days, may not ping the links to let google find them, after a couple of weeks then ping
3: Put nofollow tags on the affiliate links, its a business transaction not a recommendation
4: Your backlinks are spammy (some flag as malware), I think you got away with a big drop due to the site having quite good content - It is a nice site to be honest
5: Your ad placements are ok but I would consider moving them and changing them to fit in with the theme, its clear that the site is built for ads (it looks that way)
What you need to do is ride it out and keep building links but be a bit wiser with what your doing!
Build yourself a nice network and hit the networks with the spam but don't hit your own site, you have good content so keep it up, you haven't been hit with the panda at all, its not really a slap its just that Google do not like your links because they are crap
You good tweak your onpage SEO also but ill leave that for another day