async support and guid primary key support

Add support for GUID primary keys (using default value of NewID())
Target .Net 4.0 and 4.5 and add async support