Add some options to make working with single table inheritance easier

This pull request adds the :extends_self, :extends, and :belongs_to options.

If :extends_self is set to true, the Draft class will extend the class calling has_draft.
If :extends is set to a class, the Draft class will extend the given class.
Otherwise, it will continue to default to ActiveRecord::Base.

If :belongs_to is set to a symbol, it will be used for the belongs_to declaration, otherwise it will default to the class calling has_draft as before.

These changes make it easier to deal with single table inheritance.

I also modified the gemfile to use a secure connection and updated Appraisal to use Rails 4.0 final instead of the beta.

Please let me know if there are any changes you would like to see made.