Code reorganization, LinkRecursion moved

Minimize chances of conflicting or circular includes of classes
Starting data export feature

This feature will enable caching of sets of items for exporting as
tabular data. It won't store the data in individual tables. Rather we'll
store / cache tabular export data as a matrix of cells (row # / field #)
in single table. It'll get huge, but we won't need to use it too much to
generate a CSV output.