Adjust handling of $structure and $components having different counts

This reverses the handling of the case `count($structure) > count($components)';
rather than hack off ending structure elements, hack off beginning elements.
Move DL tags within the $titles conditional
Perform a sanity check at the beginning of render_plain_text()
Fix a bug in the 404 function

Testing revealed a missing parenthesis.
Abstracting and expanding keyboard navigation functionality

Per #119, moving from binding keyboard shortcuts to links embedded in
HTML to binding them to link rel navigation tags. This will allow
keyboard navigation to work anywhere in the site (i.e., structural
units) where link rel navigation tags are present. Also, added support
for "up" (per #151), and moved to requiring the use of the control key
as a modifier, to avoid preventing people from scrolling within their
browser.
Display a link rel="up" tag for structural units

Per #119.
Merge pull request #216 from dtrebbien/patch-6

Adjust handling of $structure and $components having different counts
Removing dirname() from 404 function

Although the use of dirname() is preferred on Windows (I gather), it
leads to unreliable results on Linux. e.g.,
`/var/www/statedecoded.com/htdocs/` can be truncated to
`/var/www/statedecoded.com/`, as that is the containing directory. Best
to leave that out for now.
Change the slice of the array used to turn the URL into a structural array

Further to #216.
Only attempt to show citation data if that data exists

Per #228.
Adding a docblock

Per #156.
Eliminate Virginia-specific citation text

Per #228.
Eliminate alpha-level Solr code

Removing code accidentally included from the alpha implementation on
the Virginia site, being tested for release with v0.9.
Moving to PEAR-style comments

Per #170.
Update the copyright year
Add a docblock

Per #155.
Add a docblock

Per #155.
Update the docblock version number and copyright year
Add a docblock

Per #155.
Update docblock, parser intro