Define Float::INFINITY and Float::NAN if not already defined (< ruby 1.9)

This paves the way for having inf, -inf, nan default values for
float/double fields.
Add support for inf, -inf, and nan default values for double/float fields

Also adds test/default.proto test file to inspect the generated code
visually.