Change source to the recommended https://rubygems.org value
Allow optional attributes with types other than String

This commit adds support for optional attributes (nil is an allowed
value). Without it, HappyMapper will fail with an error similar to:

  TypeError in '#to_xml Address before(:all)'
  wrong argument type Float (expected String)

if an attribute is defined with a type other than String, but
is actually nil, when to_xml is called.

The fix is pretty simple - always calling to_s on the value is the
right thing to do for an attribute, because attributes are always
text in XML.