Redesigned the library.

Use a mixin layer and avoid exceptions. They imply unreadable code when
precise catching is needed. Matching over result type is more idiomatic
and good looking.

Added dependencies over 'common' and 'table' lib. User may build a new ini
interface by configuring it and tune any ini interface with inheritence.
Merge branch 'dev'

* dev:
  Redesigned the library.