Add multiple error capabilities

Adds support to keep multiple different errors. Usually these will be set up
by the previous app and will dissapear after the current app.
Show multiple errors

The error handling is changing to:

1) allow dealing with multiple errors
2) not hardcode the error message

This is a first step in that direction. This template will only show
the errors all together instead of the first one with a hardcoded
message. For now, only showing the error code.
Check param required before filters

If the param does not exist, there's no meaning on checking it's
associated filters.

Also, set the param validation errors all uppercase, and store only it's
codes, not any hardcoded error message.
Fix has_error() with code, and add print_error()
Change param errors behavior

From now, the validation errors will not be treated like a fatal
error (they still allow the app object to be created), but the errors
are kept into the app->errors array for the app to show them in the way
it thinks convenient.

Also, the params_error callback function is removed and instead, a new
redirection to the params_error_page key in the config will be done,
whenever this key is indicated.

All this, allows the app to treat the validation errors in a more
convenient way, and redirect the user automatically if said so by
configuration options
Don't use filter_var on our callback filters

The way filter_var calls the callback is too limited. The callback
only receives the value to check, and so, the result cannot be dependent
on other request parameters without scope tweaks.
Then, the callback only returns true or false, making it impossible to
return different errors or a combination of them.
This two problems, combined with the config only allowing one validator
per param, limits the use of all the validator framework much.

Using out own function call, we can send all the rest of request
params for validation testing, and return more than one posible error code.

As a side feature, some of the config errors that were simply making the
validation to stop, now get a proper error code and let the validation
continue.
Stop using the keep_* session wrappers

They were not adding much functionality anyway...
Move the params validation to the run() method

This allows the param validation to use App's methods.
It also removes the use of the App constructor. Everything is now
split between the AppFactory and the run() method.
Add a function to return all the errors in the App
Fix custom validator for the new style
Use the local array instead of the superglobal
Make app an abstract class
Fix PHP error reporting not showing in the logs

The Log class must be defined prior to the initialization of the
aftertime framework. Move the require statement just before that.
Check that the variable exists before using it
Move the validation into a proper class
Add required file for logging
Convert appFactory::get into a non-static method

Also, allow to have appFactory instances, and isolate the
check_url() part in a new private method
Get config for individual pages from Config::get()
Move HMTL to the template

The app class exposes enough to not need another print_error
method that corresponds to the presentation part.
Remove unnecessary parameter of the page's method

The app already has 'params' as a property and is visible to the
page's method. Remove the variable duplication here