xpkg create now works on local files

It's not practical to use a xpd file like that, but it makes the workflow
a little easier if you already have the file downloaded.
Only store file path offset information for hard linked files once

We don't want to be applying an operation twice.
The path re-writing breaks pyc files so we handle them specially

This changes just recompiles .pyc files instead of letting them go through
the normal path operation.  There are tests for this as well.

When installing python with this system we can get an error due to a
grammar fix 21642.  The local version of python can't actually process the
file.
Perl 5.20.0 practical extraction and report language

The old unix standby of a scripting language.  Used by several projects
during their build process.  The patch we need is because perl records the
length of the embedded INC and will error out if it finds null padding at
the end.  Since we insert padding when move around the perl install this
breaks thing, our patch just truncates the length to match.
bison 3.0.2 The GNU general-purpose parser generator

Right now we need this to build binutils.  If only it didn't also require
perl to build.
Flex 2.5.39 A fast lexical analyzer generator.

Right now we need this to build binutils with gold enabled.
Proper dependencies for binutil 2.32.2

Right now we have a runtime dependency on the flex lib, hopefully we can
get the removed as soon as we start splitting up packages.
FIXUP: change bison title
expat 2.1.0 XML parsing C library

XML library used by python.
FIXUP: bison proper name
Fix bug in create, package descriptions truncated when they contain "-"

A problem with the splitting the string based on "-".
bzip2 1.0.6 high-quality block-sorting file compressor

Needed for Python.
libffi 3.1 foriegn function interface library runtime

Used by Python's ctypes module.
readline 6.3 GNU readline and history library

Used by Python.
SQLite 3.8.6 in process SQL database

The be end all of embedded SQL databases, pulled in for Python.
Python 2.7.8 interactive high-level object-oriented language

Needed for the ninja build system, and just in general because python is a
very useful tool.
ninja 1.4.0 a small build system with a focus on speed

The fastest CMake back end.
Finally finished off the pyc file issue, and notes on lockfile work
Change install database format to store file data separately and lazy load

Loading all the files for every package each time a command was run is
quite slow.  This new setup caches the file data in JSON files and only
loads them when needed.  This provides a decent speedup vs. the old system
but we still need to update the repo layer to only load file data as needed
too.
Only save cached data to disk if it has changed (10x speed up)

Did not even realize I was doing this. Always a good reminder to use the
profile before I go and do something crazy.