Lets make a pcl

Unfortunately, portable class libraries (or is it library's :see_no_evil:) do not support ConcurrentDictionary. So I did some research and added a ConcurrentCache class, inspired by [this](http://stackoverflow.com/questions/18367839/alternative-to-concurrentdictionary-for-portable-class-library). 

With this, came adding a nuget dependency for the portable project to [Microsoft.Net.Http](http://www.nuget.org/packages/Microsoft.Net.Http), and  [Microsoft.Bcl.Immutable](http://www.nuget.org/packages/Microsoft.Bcl.Immutable/).  

Added a portable tests project, that *should* use the portable directive to test the concurrent cache. I stepped through it and everything seemed to work. Not all the integration tests ran, but they were around private repositories, and my test user does not have a premium account.

- [x] add test portable project
- [x] add portable project
- [x] figure out how to implement a concurrent dictionary in a portable library
- [x] test portable library
- [x] figure out how to package nuget
- [x] test nuget package for both portable and net45