* theme (based on template)
* make own favicon.ico (now use opensuse ico instead)
* implement expand-conds for ssql
* sql-mapping syntax should support multi-sql code, but should deal with SQL-injection
* upload progress json feedback (need new server-core)
* SSE support, add some helper functions

* Support kqueue

* In MySQL, delete huge data in product environment will cause halt. There're two ways:
1. limit 1000 and loop
2. use store procedure

* Security stratage:
1. uri-decode should only be used in response-processing, never request-processing!
2. Any string which will be sent into DBI shouldn't be uri-decode in advanced!

* Reconsider security tokens fetching
Here's the discussion: http://wingolog.org/archives/2014/12/02/there-are-no-good-constant-time-data-structures

* Rewrite local-redirect-to for supporing controllers, and don't take use of "Location" header for it.
Just find out and call the rule handler directly.

* Ulimited categorizing. Use :categorize as shortcut. Two possible methods:
1. migrate a category table, and generate a lookup table each time before Artanis start.
It is hard to update category in runtime.
2. get category chain recursively, it should be fast in Scheme

* Add error waiter for current-task/client/server/proto, and bind them to somewhere they should not appear.
This may help developers to find out the possible bug.

* Optimize URL-remapping for better performance.

* Add server.idletimeout to shutdown a keep-alive connection when it's in idle status for the seconds specified by timeout.
This would be helpful to avoid EADDRNOTAVAIL that occurs too much.

* Support if-modified-since and if-request-match caching

* Support multi-subprotocol of Websocket

* Implement real non-blocking for sending regular file on Linux

* Implement OPTIONS return content by page-options
