Made label text for camel case or dash separated field names format nicely

Made is so if a user uses camel case or dash separated field names the label text adds spaces in between the words. 

I made the replace method for fixing camel case field names use a function so that the first letter of the second word is lower cased to be consistent with the other use cases.