Handle forms in a manner similar to body-parser

Here's my take on #106.

This pull request is admittedly kinda rough around the edges and I'm totally open to suggestions for refining it. Probably needs some tweaks before it can be merged and definitely needs unit tests and documentation.

But I wanted to get a rough implementation out there to get some discussion going about how something like this could work, since it's a somewhat big expansion on the capabilities of page.js.

The main purpose is to enable workflows like this:

```html
<form action='/change' method='post'>
  <dl>
    <dt><label for='something'>Something</label></dt>
    <dd><input id='something' name='something' type='text'></dd>
    <dt><label for='somethingElse'>Something else</label></dt>
    <dd><input id='somethingElse' name='somethingElse' type='text'></dd>
  </dl>
  <ul class='actions'>
    <li><button type='submit' name='change'>Apply</button></li>
    <li><button type='submit' name='reset'>Reset to defaults</button></li>
  </ul>
</form>
```

With a page route like:

```js
page('/change', function(req) {

  // form data is populated in req.body
  // e.g. req.body.something or req.body.somethingElse
  
  if (typeof req.body.change != 'undefined') {
    alert('change was pressed');
  }
  if (typeof req.body.reset != 'undefined') {
    alert('reset was pressed');
  }
});
```

This allows you to handle forms in a manner similar to how you'd handle forms with server-side Express and [body-parser](https://github.com/expressjs/body-parser).