Set default value for label if no value is supplied.
Coding Standards

Changed to using null instead of '' and remove the ': ' at the end of the label value. (Though I myself quite like this..)
Spaces around equals sign.
Validator process custom message specific attribute first.
Updated to use ucwords instead of ucfirst

This ensures each word is capitalized instead of just the first.
Merge pull request #1024 from coolhome/proposal-2

[BUG] Validator not processing custom message specific attribute first.
Merge pull request #1022 from wesleyh/master

Proposal: Default value for labels.
Refactoring some code in the form builder.