Initial DDEX support (Entity Model)

Hello there, as mentioned in pgfoundry this is my initial attempt to create a DDEX provider.

Since Npgsql can work without visual studio, it would be better to implement a thin layer supporting DDEX over Npgsql in visual studio when needed, and no dependencies attached when not need to. Thus, this merge is simply a separate VS package that can be installed or uninstalled using VS extension manager. You don't even need Npgsql to compile, but I add it to npgsql vs2012 sln for complete sake.

Right now, there's no data connection dialog support, only built-in VS dialog is used, so some properties might have problem showing itself upon changing the value, but it's just cosmetic, the underlying properties still works as expected.

Some part of Npgsql has been enhanced to support DDEX. Prime example is GetSchema API, it's useless if you cannot obtain primary keys and etc, so I add some more support. 

StoreSchemaDefinitionVersion3 should be supported under NET45 and vs2012.

As said last time, there's bug somewhere preventing entity model from generating and I have pinpointed it now. It's a problem when the PrimitiveTypeKind is string or alike, your backend type conversion is smart and useful but it return a Byte[] as a result, but the visitedexpression engine only accept a String input to WriteSql, so things went haywire there. Right now, I fix it by convert utf8 encoded bytes to it's underlying ascii char, not sure if it's correct, but please check. I am a little curious here how this little error get unchecked.

There's still some known problem like DataSet cannot be added succussfully if you are using the data source wizard, i suspect it might be a bug in VS Designer. The Copy/Drag also not working as I am still figuring out why it said parameters are invalid.

Well, all in all, this should get a head start to let people and me to use EF using Npgsql with ease. Thanks.