Merge pull request #25 from naoa/support-token_filter

Support token filter

Patch by Naoya Murakami. Thanks!!!
encoding: move MySQL error report code to mrn::encoding
Extract opened database cache code as mrn::DatabaseManager

Now, Groonga database is always created automatically if it doesn't
exist.
mroonga_command: create Groonga database automatically if it doesn't exist
test: remove needless dummy table

Now, mroonga_command() doesn't require at least one table.
test: ensure removing created tables

If any table that uses Mroonga, we can't unload Mroonga.
test: remove needless dummy table

Now, mroonga_command() doesn't require at least one table.
test: use lower letter for table name

It is for working on case insensitive file system such as HFS+.
test: recreate database for "dump" Groonga command tests

"dump" output depends on object IDs. Object IDs are assigned in created
order. But object IDs are re-used when some objects are removed.

We can avoid "dump" output difference on other environment by creating
from a new Groonga database.
test: order by created sequence
Extract common code
Use bool instead of grn_bool

Because we're using C++.
Reduce needless memory allocation
Use more readable name

"find_token_filters_" prefix is better for sub methods of
"find_token_filters".