Add per box settings (cf #41)

This PR also:

- fixes model mixins that was not inheriting from `models.Model`, so fields was not active
- fixes `form-fullpage.html` template that was overriding `title` block
- introduces a `user.public_fields` method, allowing to loop over user fields, even with a custom user model

If it's better, I can split this into other PRs. :)
I thought about that yep :)

My point here is to have as less hidden configuration as possible, to make it easier to configure a new server (or reinstall), to debug remotely the servers, and to reduce as much as possible the reasons of failures.

I know dynamically loading settings is not the standard way of handling the need for multiple settings. But I really think that it's stronger than having a environment variable in our use case.

The plan here is to deduce the project settings from the hostname of the server, so we only need to ensure the hostname is good. Adding an env var will I think add one more possible reason to fail, and in a way make the conf less DRY. What I mean is that we can have only one thing to be configured on the host machine, why adding a second one?

About having a hack in `manage.py` instead, humm, my personal view is that settings *are* a place where we usually do project specific configurations, so I would prefer keep the `manage.py` as out of the box. But I'll not totally against if you think it's better.

Thoughts? :)