Case insensitivity for contribution keys

1) Overwrote the attribute_writer to save the values as lowercase
2) All verification are done lowercase. 

In reference to #1695