Get now returns error if the key is not in dictionary

Consider the following code fragment:

    d := godict.New()
    slot, err := d.Get("a") // returns non-nil slot and nil error
    v := slot.Value() // runtime error and crash happens here, because slot.data == nil.

Since slot.data is private, there is no way for caller to check if Get returned an empty slot.

This pull request ensures that Get returns an error if the key is missing from dictionary.