Add support for non-integer User class primary key
Add smart user class primary key type inspection
Merge branch 'mattupstate-master'