spy/cli: allow decorators to stack
spy/cli: fix arg parsing off-by-one
spy/core: add chain.format()

diagnostic function to generate a string representation of the list of
fragments
expose chain.format in the CLI as --show-fragments
spy/core: alias chain.__call__ to chain.apply