Added some project structure, separated the interfaces with the implementations and added some folders to separate the different parts of the library, added a NuSpec file