Handle database exception and rename create_db function name to avoid ambiguity

1. Rename `config.py` to `config.py.sample` as a template, I will show its advantages in the readme file
2. Simple to handle  common database exception
3. Rename function `create_db()` to `initialize_db()`, function `create_db()` is simple and graceful,  but it's a fucking name in `database.py`. such as mysql don't exists database `config._DBNAME` , the app will break,  because `create_db()` just initialize the database, it can't create database.