Contact Forms: Subject can have replaceable tokens

Contact Form subjects can contain tokens, like {city}, where a form field with name City (case insensitive) will be searched for, and the substring of {city} is replaced by the sanitized value of that field.

[Here](https://cloudup.com/cuMAef__i0H) is an example of such a form, which results in [this](https://cloudup.com/cXXiKu6_91x) subject, when fields with names corresponding to the two tokens are filled in.

Addresses https://github.com/Automattic/jetpack/issues/648

Still needs to be reviewed more thoroughly, but I wanted to share the current implementation for discussion.