I'm surprised no one in the Math education community has mentioned WebWork yet as it's the homework engine that's been around for more than 20 years. With a library of 30,000 questions, including several standard textbooks, exams (proctored, gateway) and randomized assignments, I assume that it has more than half of the solution to what you need to teach. With a bit of work, you could turn it into a full-blown LMS/VLE, but the assignment functionality beats just about everything on the market. It turns collusion into collaboration.
Edit: probably downvoted because I had a train to catch and 10 minutes to try and be coherent. I'll reword and expand later today.