add chained expectation descriptions to the default descriptions of custom matchers with fluent interfaces

this fixes #532
I think if you move this into the matcher initialiser you won't need this or the `defined?` check below.