Adding .gitignore to project.

Signed-off-by: David Arbuckle <dintlu@gmail.com>
Removing profiling hooks from code.
Fun, but very premature.

Signed-off-by: David Arbuckle <dintlu@gmail.com>
Added base structs for managing middleware.

Middleware will provide hooks before and after a user's handlers are
processed by the application.  A project registry file will contain a list
of all installed middleware, which will be read into GOFW when the
application starts.

On each request, the baseHandler will walk through the middleware and apply
each of the ProcessRequest directives sequentially.  Next, the provided
request handler will be executed.  Finally, the middleware list will be
walked backwards and all ProcessResponse directives will be applied.

Signed-off-by: David Arbuckle <dintlu@gmail.com>
run.go now accepts a "settings" struct, defined in the file, which provides
a means for the client application to set its configuration without
requiring any modifications to the gofw backend.

To reduce configuration, the client settings object is created by calling
the public function NewSettings(), returning a pointer to a settings object
which is then passed into Run().

Run() will then bootstrap individual settings into the backend as needed.

Signed-off-by: David Arbuckle <dintlu@gmail.com>
Added tentative middleware handling to the framework.

Framework users create a list of middleware packages in their Project
Registry, which are parsed into the application when it runs and applied
at different stages in the request lifecycle.

A middleware package should expose a public interface that will create a
struct of type Middleware for use in the user's application.  Middleware
currently implements two methods - ProcessRequest, and ProcessResponse.

The middleware handler in http.baseHandler will iterate over the list of
middleware processors and execute ProcessRequest, then execute the base
handler from the URLConf, and finally iterate backwards over the list of
middleware processors executing ProcessResponse.

The serverHeaderMiddleware has been created to provide an example of
successful middleware implementation.

Signed-off-by: David Arbuckle <dintlu@gmail.com>