XML indentation with environment support

Complements #612 

This is a draft to get more suggestions. With this pull request I added a support to `indented` method to get a value from environment as discussed in #612.

Since this change affects `MockSerializationResult`, the constructor was deprecated and a new constructor with `Environment` parameter was added to keep compatibility backwards.

After this pull request, we can add the same support to JSON serialization.

Docs will improved before merge.
Ahh, sorry. I watched the code from Enviroment, and `supports` is the same that `get`. But the problem to use `supports` is that if the key isn't found, an exception will throws. And the goal of this pull request is keep environment optional. So the exception is not welcome here.