make dealing with undefined value less confusing

**Add property for every driver name**
**save and return null instead of undefined**
i know i suggested this before for an other reason. but, i still think that dealing with undefined values on localforage is a little confusing, every driver give a different result. that's the result of getting/putting undefined values on every driver:

| driver                 |  putted value   | returned value from getItem | returned value from setItem             |
| :------------------- | :----------------- | :---------------------------------- | :--------------------------------------------- |
| asyncStorage    | undefined       | undefined                             | null                                                    |
| localStorage      | undefined       | undefined                             | ERROR : JSON.parse("undefined")  |
| WebSQL           | undefined        | undefined                             | "undefined"  ( type: string)                |

as asyncStorage is the main driver, i think that the other drivers should behave like it, and i think that the returned value from getItem should be the same as the returned value from setItem (null value)