Exists, TryGet and TryFind methods

Fixes #67

Changed the Ioc projects to .NET 4.0 so all projects match

Tried to use the Traits for IRepository and IRepositoryQueryable so that
there is less duplicate code, but there are a few that didn't fit,
namely GetAll and Delete(TKey) for various reasons.  Added TODO's in the
code to look into fixing it later.  Thought of this because when I added
the TryGet and TryFind's I originally forgot to added them to the
ICanGet and ICanFind so they wouldn't have been available to use when
people use traits in their code.