Custom user models

Implements #62.