added type checking methods for params

Added type checking because most users are lazy and don't check them. Short example:

```php
if (!$this->request->hasQueryParameter('field')) {
    return;
}

$value = $this->request->getQueryParameter('field');

$q = $db->prepare("...");
$q->execute(["id" => $value]);
```

Last statement would create a notice if value is an array (with a query string like `?value[]=...`).