Add OutputFormatter parameter to `prepared { }`

This is important when prepared values are very large and could fill up the test console logs. By default the output could be limited to a certain amount of characters and there could be the most common formatters already provided, (Full, LimitByChars, Hide, ...).

This also touches the by resource(...) feature in #66 (closed), since they tend to be very long files.

Design

Allow the following:

val display = Display { it.toString() }

val resource by prepared(, PreparedOptions.display(display)) {
    
}

In the future, this will allow us to add new parameters without breaking changes. This will also make it easier for other prepared-based features to expose the same parameters.

Shared values should support a similar parameter design.

Edited by Ivan “CLOVIS” Canet