Consolidate handling of "is this a literal" and "is this a value"

In the process fix inability of IC to deal with \[], and simplify
the overal codepath bind value passing codepath

Aside from the bugfixes there should be no functional changes
Fix incorrect handling of stringifiable objects in cond collapser

Thinko introduced in the recent 8d005ad9
Call mro reinit in tests only on 5.8
Clarify FC/IC conflict exception
Rename some variables in the FC codepath for clarity