Merge pull request #17 from mla/param_array

if no placeholders in route, param array should be empty
Move route cache to a CHI-like interface, in order to allow for custom cache modules
don't double encode JSON repsonse

by default json encoder does utf8 -> bytes conversion and this thing is optional, so check property and decide what to do.
Merge pull request #18 from ruz/master

don't double encode JSON repsonse
Add a test case to cover the double JSON encoding issue
Version 0.4601
merge upstream/master