starting to cleanup extern 'c' mess
add libunbound headers

to silences msvc compiler & get us a bit further into build process
msvc build fixes for crypto.lib

- cleanup extern "C" mess
- put crypto stuff into crypto namespace
- some explicit typecasts