initial import
Use same function for initial developer setup and products created afterwards
fix typo
use explicit variable names instead of
Put Developers extension in its own directory
developers: Whitespace fixes
gitignore: Do not ignore our extensions
developers: Move code to operations file.

The Extension.pm will contain only hook implementations.
developers: Move Product hack into separate file
developers: Move User hack into separate file
developers: Use warnings pragma
developers: Add some utils and use them
developers: Remove useless assignment
developers: Simplify User::is_developer function
developer: Some style fixes