ENH: sql support
**UPDATE**: this is continued in #6292 after the refactor based on sqlalchemy.

---

This is a central issue to track sql support (migrated from the mysql support ticket - #2482 and #1662).
- [x] sqlite
- [x] mysql (#2482)
- [ ] oracle (not tested, partially working)
- [ ] postgres, (partial via #4574) (not tested, some parts possibly working, [SO user suggests it "works"],(http://stackoverflow.com/questions/17156084/unpacking-a-sql-select-into-a-pandas-dataframe/17156233#17156233))
- [ ] ODBC
- _any others?_

I think we are agreed we will be moving to use SQLAlchemy, in the hope of comprehensive cross-platform support:
- [x] SQLAlchemy (#2717, #191)

Todo:
- [x] travis should not skip tests (e.g. mysql #4177)
- [ ] add `flavor` argument to `read_sql`
- [ ] handling no row returns (#3745)
- [ ] Specify chunksize (and iterator) for `read_frame` (#2908)
- [ ] read and write the index (and multi-index)
- [ ] mangle_dup_columns for read_frame (#2738)
- [x] bug in write_frame replace (#4110, #2971, PR #4304, #6164)
- [ ] option in `config` to specify default engine/connection for SQL (maybe?)
- [ ] refactor SQLAlchemy/sqliite tests (@hayd was thinking different flavors could inherit tests from a baseclass, so tests are only flavor explicit if obviously flavor explicit...)

Better Dtype coercion:
- [ ] infer dtypes more carefully (discussed in #2482)
- [ ] NaN/NaT conversions (#2754, #4199, PR #4200)
- [ ] `datetime.date` conversions https://groups.google.com/forum/#!topic/pydata/KEBKxj4cWNI
- [ ] support encoding #5008

Peformance
- [ ] Vbenches! (for various flavors even?)

cc @garaud @mangecoeur @danielballan @changhiskhan
