Repository interface

Added DI, generic repository and unit of work patterns, and ugraded the project to vs2012