Pattern for forms designed and implemented.

Squashed commit of the following:

commit 78d7a8649150810c08e82e01708b126b52fc617d
Author: Victor Andrée <hej@victorandree.se>
Date:   Sun Feb 24 18:41:46 2013 +0100

    Seeds course#edit with "form" from req.course

    This avoids a lot of the complexity in display/redisplay of the form in
    case of validation errors. The template is clean, since it only accesses
    the `form` variable (which sometimes is a form, sometimes a course
    instance).

commit 0c9c2834f21a9f13ee78ea4639cc84c233d1aa53
Author: Victor Andrée <hej@victorandree.se>
Date:   Sat Feb 23 20:51:01 2013 +0100

    Very basic U operation on courses.

    This is where an ORM is starting to look nicer and nicer. I'm still
    hesitant, though. In principle, I think some of the more common patterns
    could simply be abstracted away -- but I'm not entirely sure how.

    Also, it might start becoming time to think about what should be the
    Model in our not-very MVC app. The controllers are growing fat, with
    code that's arguably boilerplate. I'm interested in having PostgreSQL be
    the model as much as possible -- speaking with it over SQL. This goes
    against a lot of the recent development in web development, which treats
    the database as "stupid" and puts as much as possible in the
    "application". Well... okay. But maybe data is important and should be
    handled by a database, and the application is really mostly an
    interface.

commit bcf5d5f273342feef887803ffabcc26b768a1436
Author: Victor Andrée <hej@victorandree.se>
Date:   Sat Feb 23 20:18:07 2013 +0100

    Drops express-resource.

    express-resource has a number of oddities and problems that make it hard
    to use:

    1) using "thing.<format>" in the URLs make it hard to have e.g. e-mail
    addresses as IDs (because ".se" is a "format" in "student.hhs.se")
    2) it's hard to pass middleware the express way to individual requests.
    this makes it hard to use with express-form.

    For now, it's simple enough to list routes manually, and rewrite the
    .load-function to work as middleware (as express intended). It might get
    tedious, eventually. But this is a rather small project.

commit 1cda22866c9290069f38a72b11beb2efcae9b21d
Author: Victor Andrée <hej@victorandree.se>
Date:   Sat Feb 23 13:31:08 2013 +0100

    Adds express-forms

commit 0cf46b26ff9f850be9459230cfab58c947a2b87f
Author: Victor Andrée <hej@victorandree.se>
Date:   Fri Feb 22 12:31:27 2013 +0100

    Started working on the edit form for courses.

    There are several complications arising now:

    1. The form action: We don't have any URL helpers.
    2. Validation: Haven't settled on a validation library.
    3. Redisplay: Don't have any form helpers.

    Questions is if redisplay is a very hard problem, or something which can
    be solved quite simply using basic jade helpers -- simply building an
    input as need. Full control over HTML output of forms is nice.

    Validation: node-validation or node-forms look nice (or if it was
    express-forms -- whatever, the one that you get when googling this
    stuff).

    We need some kind of URL helpers. The ones that exist seem very
    complicated -- I don't know if "named" routes really are better for an
    application of this scale than simply using the URL patterns themselves.
    Cool URIs don't change! And it's a natural way of referring to paths
    anyway (by actually using paths!).