Cleanup
Turn non-test into a proper test
Fix for Perl 5.18 and later

Starting from Perl 5.17.5, PL_compcv points to the compiling
CV even in a BEGIN block.
Do nothing when enable_hint() is called at runtime
Short-circuit in leavesub(lv) checks when there are no lexical hints enabled
Don't call the hint callback when candidate_cvs is empty
Call user callback for subroutines defined in an eval'd string

At the moment this does not give the callback any useful information
for the main eval block,  because for eval "", PL_compcv does not
have CvROOT/CvSTART.  The root/start are available in PL_eval_root/start,
but it needs some user-interface design.