Switched over to an even more reliable way to detect the archive page
Apparently pre_get_posts is an action, correct.
For some reason, it worked as a filter
Added the ability to display a heirarcal view without theme support. A
way to override this will be needed.
Improved the inifite loop prevention
Updated to look much less like a hack