Add function genericDefault

Added this function to make it easier when creating your own default instance with only few different values i.e:

```haskell
data Test = Test
   { valA :: Bool
   , valB :: Bool }

instance Default Test where
  def = genericDefault { valB = True }
```