Fixed some issue raised

Fixed some issue raised and added the README.md

This pull request contains some code suggestion from the issue section, which can be implemented so that everyone can benefit from the changes.

rename the db.list() in shelves.py to db.all_ids() as @mikeal changed the naming convention in previous commit. With this change, now all the tests are passing.