Better default value behavior

When a default value is specified, it is now setting that value on
object initialization instead of when reading it. This allows the
default value to be persisted to the database and queried.
Removing unneeded local variable
Removes tests for Ruby 1.8.7

The tests segfault on travis, but pass locally. Not worth the hassle.
Remove degugger dependency

It doesn't work with all versions of ruby so I'd rather just let whoever
is developing debug whatever way they want.
Tweaking logic a bit with default values

There was a case where a value might be set to a nil value but allow
blank values, and it was not setting the attribute correctly.
Bump version
Update changelog for 3.5.0
Merge branch 'better-default-value'