Fix old ruby

Made multiple changes that are required for compatibility with ruby 1.9.3. 
#79 should be fixed by this
Well if you look at the previous code it should either take the parameter or the attr_reader value. There is in the code some instances where the attr_reader is set but i didn't see any instances where the attribute is set and the parameter is used.

One example of the attribute being set is here: 
![image](https://cloud.githubusercontent.com/assets/178892/3926746/525532e6-23f4-11e4-8415-d60f845b7f4e.png)
So i'm thinking the attribute might be set in one line but then in the code it might be changed via the parameter. I'm not sure it's a great idea but i don't know the reason why it was that way really.