Added the final keyword to all immutable variables.

According to best practices, all immutable variables (i.e. variables that do not change values during execution) should have the 'final' keyword.
Otherwise, this supposedly enterprise-ready package would collapse in a smouldering pile of ashes in a few months of heavy maintenanace.
I can already detect some signs of decay in the smaller files.
Manual merge with upstream.
Merge pull request #120 from alexfernandez/master

Add final keyword to all immutable variables