change the default number of connections

After some recalculations, it's good to have the max number of
connections(typically 1024) in this program, even it's for
router. Limit the memory for each sockfd so it will not cost more than
8M memory, the 8M limitation seems good to a router(typically have 32M
memory in total).
simplify link operation

Let all the link pointers stored in an array, so it's not needed to
iterate to find the link associated with the sockfd.
add struct ss_option

It's a preparation for adding config file.
refactor parse cmdline option function

And add prototype for parsing config file function.
add config file support
fix bug when parsing config file

Remove quotation mark around option value.
Let the check of config file more user friendly
tweak the Makefile

So it's easiler to cross compile, i.e., LDFLAGS will not overwrite
linking libraries.
correctly check if option is null
let the help message more beautiful
add daemon support
remove config file support

We can use command line option for test, and use openwrt uci api for
daemon. So config file is not needed.
update cmdline option
use syslog framework

Replace my hand-made logs with syslog.
tweak the help message
add sock_err helper function
remove unneeded struct member
correctly check log level
simplify poll related functions
tweak the log

Let it works well with syslog.