Added failing tests for multi-level magic string sorting

for example, "ContactType.Name"

Refactored LinqHelpers to remove duplicate code across the 4 sorting
methods.  Now just need to fix the failing tests next.
Fixed multiple level magic string sorting

Shoutout to this answer on SO that helped me get this right:
http://stackoverflow.com/questions/41244/dynamic-linq-orderby-on-ienumerablet/233505#233505

Fixes #87