Hash.empty works on subclasses which have never been insubstantiated

This fixes a little corner-case bug in `Hamster::Hash`...

```
[1] pry(main)> require 'hamster'
=> true
[2] pry(main)> class H < Hamster::Hash; end
=> nil
[3] pry(main)> H.empty
=> nil
[4] pry(main)> H.new
=> {}
[5] pry(main)> H.empty
=> {}
```

See? When you subclass `Hamster::Hash`, `empty` only works on the subclass after you have called `new` at least once.

I'm opening a PR to get comments from others on code style, etc. before committing this to `master`.
I'm cool with this, on further consideration. Merge away!


On Mon, Jun 30, 2014 at 1:13 AM, Alex Dowad <notifications@github.com>
wrote:

> In lib/hamster/hash.rb:
>
> > @@ -15,12 +15,15 @@ class Hash
> >      include Immutable
> >
> >      class << self
> > +      alias :alloc :new
>
> @krainboltgreene <https://github.com/krainboltgreene>, do you think I
> should go ahead and merge this? Can you think of a better way to fix this
> problem?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/hamstergem/hamster/pull/98/files#r14337014>.
>



-- 
Kurtis Rainbolt-Greene, Hacker
Software Developer
1631 8th St.
New Orleans, LA
70115