Updated and added hard linebreaks to progress log
Removed AbstractRequest component

Deleted \source\component\AbstractRequest.php:

With the improved way in which requests will be represented and handled,
there is no long a need for an AbstractRequest object.
RedirectResponse object was never used
Evolved request, response and global objects

Request and Response objects are now known as HttpRequest and
HttpResponse objects, respectively. ServerGlobal object is now Global
object.

These improvements were made to change how HTTP requests/responses were
previously represented as objects. The attempt is to treat HTTP
requests/responses as actual objects, like actual tangible things.

The Global object (previously ServerGlobal) serves itself to take all
the global variables in PHP and present them Bag objects. (I still don't
know why the object has this name, but I think it is because it captures
the content from the PHP superglobals).
Improved Router, and added Controller object

1. Moved Router class file from the "/source/component" directory to the
"/source/core" directory

2. Router->search() now returns the Controller object, instead of an
array that contains controller information.

3. Created Controller class to represent the controller (info) retrieved
from the router's route table.

4. Router->match() no longer cleans up the URI path and route path upon
attempting a match, because the normalization of URI path and route path
should have already been done to the respective paths prior.

3. Renamed some variables to let them be more descriptive and
meaningful.
Moved Helper class file; object does nothing now

1. Moved Helper class file from the "/source/component" directory to the
"/source/core" directory

2. The Helper object now does nothing.
Added Normalizer object

The Normalizer object is needed to do one job: To normalize things.

Initially, there had existed HttpRequest->normalizePath(), but there
lack a path normalizer for the route paths. This meant that URI paths
from the client were normalized to adhere to the designed rules, but the
paths configured by the app developer were not adhering to the same
rules. This meant that there existed an incompatibility between the URI
path and the route path. So, in order to apply the rules across both
paths, the Normalizer object was created to enforce uniformity among
both paths.

The Normalizer was also created to be a general normalizer, and not just
to normalize URI-like paths.
Moved Router class file, and normalized paths

1. Moved Route class file from the "/source/component" directory to the
"/source/core" directory

2. Upon instantiation of a route, the route path is automatically
normalized.
Moved Loader class file

1. Moved Loader class file from the "/source/component" directory to the
"/source/core" directory
Moved RouteTable class file; made improvements

1. Moved RouteTable class file from the "/source/component" directory to
the "/source/core" directory

2. Renamed "RouteTable->getTable()" to "RouteTable->getRouteRecords"

3. Added "RouteTable->getRoute()" to get a specific route by name from
the table records.
Moved Loader class file; added loader for core

1. Moved Loader class file from the "/source/component" directory to the
"/source/core" directory.

2. Added Loader->loadCore(). This method loads the core components from
the "core" directory.
Moved Kernel class file; improved Kernel

1. Moved Kernel class file from the "/source/component" directory to the
"/source/core" directory

The following changes are related to commit
'aefe55ffaf5e7362f0b2e2ab3b35a5b3918057f5':

2. Upon instantiation, the Kernel object now takes in as its argument an
HttpRequest object, and no longer takes in an AbstractRequest object
because the AbstractRequest object is no more.

3. Kernel->handle() now tasks up the task of checking to see if the
result returned by $router->getController() (line 54) is a controller or
not. Previously, this task was left up to Kernel->dispatch(), but I
thought that having Kernel->dispatch() be responsible for checking was
not good program design. Kernel->dispatch() should be responsible for
for only doing what is name says, and nothing else.

3. In Kernel->dispatch(), instead of doing call_user_func_array(), I
used the run() method of the Controller object. This is much prettier
than the ugly call_user_func_array()---no diss, PHP.

4. Added abort() method to Kernel class. This is for when there we need
to force shutdown any script processing.

5. Added way to access kernel info (kernel name, version number, build
number, and commit number from release was created)
Minor changes to Bag class

1. If nothing is found, a NULL return value is more meaning full than
FALSE.

2. Renamed variables to make them more descriptive and meaningful.
Added core directory address to config.php
Adjusted app.php to recent changes

1. Bootstrap.php is now loaded from "/source/core" directory

2. Bootstrap loads the services and components, and now, the core.

3. Bootstrap and Kernel are addressed from under the "Underwear\Core"
namespace, instead of the "Underwear\Component" namespace where they
were previously placed before the framework core and framework
components were separated.

4. Kernel->handle() accepts an HttpRequest, not an AbstractRequest.

5. Did some documentation
Some service classes, useless for now
Edited comment in View.php
More changes to .htaccess
Major updated to todo list

Added tasks to the list. Also, changed format of the todo list.
Added and updated documentation