rewrite core routines

The core routines are the piece of code which does the main work (elaborate mean vs. fact, etc.) to fetch requested data. They've been rewritten to avoid as much blocks as possible to avoid unnecessary stack frames.
change required perl version to 5.8.1
move to Makefile.PL in favour of developer reqs
reduce "git status" noise
bump version for next shot