Key Data Type other than int and writable key (e.g. Guid)

- IsKeyWriteable to return default value
- Insert<T,TKey> method
- ISqlAdapter.Insert<TKey> returns TKey
- SqlServerAdapter.Insert<TKey> (Set Key value only if writeable)
- PostgressAdapter.Insert<TKey> (Set Key value only if writeable)
- Updated KeyAttribute to support AllowWrite property