Be more robust in source parsing and user creation.

This fixes #22.