make runtime configuration possible runtime

We use now libconfuse to read several configuration values and configure the
stuffs in run time. Threw out the now obsolete config_ctl.h file. One side
effect is that we cannot use partial initialization all over the place now.
Instead we have to call memset to fill the arrays with 0 upon initializing.
Further we have to dynamically allocate some arrays. Fortunatelly most stuffs
are called while starting up, so there shall be no big performance impacts.

Signed-off-by: Luotao Fu <devtty0@gmail.com>
use 32bit unsigned int instead of 8bit for gpio

Some platforms might have high number for gpio lines, which would extend the
limit of 255 of uint8, so we switch to uint32 for gpio numbers.

Signed-off-by: Luotao Fu <devtty0@gmail.com>