parseable for splint, fix memleaks, minor fixes

- replace non standard u_char with unsigned char (ANSI)
- advice splint to ignore variadic macros
- move declarations from the middle to top of functions (C90)
- replace local library includes <> to ""
- avoid memleak if memory is full
- fix "memleak" at the end of mbus_parse_hex
- remove unreachable code
- add parameter checks to mbus_data_bcd_encode
- init time structure in mbus_data_tm_decode as possible
- mark falltrough for splint
- remove unused variable val