Better error handling and an include function for lua pages

Issues with current implementation:

- Errors in lua pages aren't logged. It can partly be worked around with xpcall, but:
  - You'd need to make a separate xpcall for each chunk / processing instruction.
  - xpcall won't catch syntax errors or other load-time errors, only runtime errors.
  - There is still no way to get messages into the error log.
- There is no way to stop processing when an error on a lua page is encountered.
- The chunk names and line numbers according to lua's debug module are not useful.

These features would also be nice:

- A way to include a lua page inside another.
- A way to redirect a request from a lua page.

---

This patch passes in useful names and line numbers when calling chunks, and adds these lua functions:

- mg.cry: Cries each string argument. Used to log errors.
- mg.include: Includes other lua pages.
- mg.onerror: Default error handler. 
  - Setting mg.onerror to a custom handler function is equivalent to calling set_exception_handler in PHP. 
  - It's up to mg.onerror to display or log errors, equivalent to log_errors and display_errors PHP settings.
  - If mg.onerror returns non-zero, processing will abort.
- mg.redirect: Redirects the request to another URL.