Ensures sizes are aligned & comparisons are like-to-like in get_unkil_state()

I started looking at this tipped off by the following valgrind warning:
==4572== Invalid read of size 1
==4572==    at 0x10F4CE: get_unkil_state (2bwm.c:328)
==4572==    by 0x10B7BA: main (2bwm.c:717)
==4572==  Address 0x623d500 is 32 bytes inside a block of size 36 free'd
==4572==    at 0x4C289DC: free (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==4572==    by 0x10F4CD: get_unkil_state (2bwm.c:327)
==4572==    by 0x10B7BA: main (2bwm.c:717)
==4572==
Makes int32_t getwmdesktop() uint32_t as ws is elsewhere.

I don't think this should ever be a negative integer...
Ensure return from xcb_get_property_value() is null-terminated.

Under Valgrind, this appears as:
==4260== Invalid read of size 1
==4260==    at 0x4A0C164: strstr (in /usr/lib64/valgrind/vgpreload_memcheck-
==4260==    by 0x4054DF: setupwin (2bwm.c:334)
==4260==    by 0x402BD8: main (2bwm.c:706)
==4260==  Address 0x5464030 is 32 bytes inside a block of size 60 free'd
==4260==    at 0x4A07577: free (in /usr/lib64/valgrind/vgpreload_memcheck-am
==4260==    by 0x4054D2: setupwin (2bwm.c:332)
==4260==    by 0x402BD8: main (2bwm.c:706)