3.5 compatibility: second proposal

As I don't like the way the first 3.5 pull request handles the problem, here's my own proposal on how to handle 3.5/4.5

- I've changed the .NET version for the main NetMQ project to 3.5 and made some changes to not use .NET 4 only classes, I've done my best to keep those to a minimum
- I've added a NetMQ.Net45 project that contains all code specific to .NET 4.5, currently, this is only the Scheduler
- I've added a NetMQ.Net35 project that links to the Net45 one, but uses .NET 3.5 and a downgraded version of the TPL from nuget to be able to support the Net45 only features.

This has a few advantages over the other approach:

- No version checking needed in precompiler statements
- Ability to mix Net35 & Net45 projects within the same solution and have everything compile properly (this is the killer for me, I very much wanted this)