typelib: Fix iterator type.

As m_current is a NameMap and not a TypeMap, find() will return a
NameMap::iterator, not a TypeMap::iterator.  This caused a compilation
failure under VxWorks 6.9.
typelib: Fix missing symbol under VxWorks.

VxWorks (at least on 32-bit PowerPC) has int and long as two distinct
4-byte types, and it defines uint32_t to be a typedef for unsigned
long.  At some point in template expansion, though, the compiler looks
for swap_helper<4, unsigned int>(unsigned int, unsigned int&), which
ends up being an undefined symbol:

libtypeLib.so:001244b4 W void Typelib::Endian::Details::swap_helper<1, unsigned char>(unsigned char, unsigned char&)
libtypeLib.so:001244e8 W void Typelib::Endian::Details::swap_helper<2, unsigned short>(unsigned short, unsigned short&)
libtypeLib.so:         U void Typelib::Endian::Details::swap_helper<4, unsigned int>(unsigned int, unsigned int&)
libtypeLib.so:00124548 W void Typelib::Endian::Details::swap_helper<4, unsigned long>(unsigned long, unsigned long&)
libtypeLib.so:001245a8 W void Typelib::Endian::Details::swap_helper<8, unsigned long long>(unsigned long long, unsigned long long&)

This then causes link errors with applications (such as
typelib_testsuite) which link against libtypeLib.

So the fix is to define the unsigned int template specialization.
test: Resolve warnings about comparisons between signed and unsigned types.