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

this fixes #532
Could the `chain` method not override the `description` like a user would (essentially call description with an implementation), which would in turn allow it to be overridden and extended like a normal description?