Fix router (getAction/dispatch) to handle undefined actions

Currently, attempting to execute an action that is not defined will throw an error, since `Wiki::$_action` is never defined. This pull-request adds:

- Checks for method presence
- A 404 page/response for methods that do not exist (`Wiki::_404` now renders an error view aswell).

### API changes:
`Wiki::_404` - accepts an optional `$message` parameter