Introduces 'form.fetch' callback event.

This allows overriding the method used for reading form
templates. For instance, makes it possible to direct form
reads to flat files.

Closes issue #362

git-svn-id: http://textpattern.googlecode.com/svn/development/4.x@5226 2fea6a4d-a838-0410-917b-93a53c48e9d2
Hot and single example.

git-svn-id: http://textpattern.googlecode.com/svn/development/4.x@5227 2fea6a4d-a838-0410-917b-93a53c48e9d2
Introduces parse_page() and fetch_page().

Allows fetching and parsing page templates similarly to
forms. These functions do all the needed processing on the
background.

Now Textpattern also allows page templates that only
contain a single empty byte such as '0' or an empty string,
instead of displaying unexplained 404 error page. This error
page is displayed when the template is missing.

The fetching method used for pages can be extended with
a 'page.fetch' callback event, similarly to forms.

Closes issue #363

git-svn-id: http://textpattern.googlecode.com/svn/development/4.x@5228 2fea6a4d-a838-0410-917b-93a53c48e9d2
callback_event() can handle different data types.

Can merge arrays if all handlers return an array, glues
strings just like now and returns the original value
if there is only one handler for the event.

In short, doesn't automatically cast returned values to
string.

Closes issue #364

git-svn-id: http://textpattern.googlecode.com/svn/development/4.x@5229 2fea6a4d-a838-0410-917b-93a53c48e9d2
fetch_form()'s callback event can now return FALSE.

git-svn-id: http://textpattern.googlecode.com/svn/development/4.x@5230 2fea6a4d-a838-0410-917b-93a53c48e9d2
'txp:css' encodes the name used in the URL.

git-svn-id: http://textpattern.googlecode.com/svn/development/4.x@5231 2fea6a4d-a838-0410-917b-93a53c48e9d2
Merge remote-tracking branch 'upstream/master'