Fix bitmap_scnprintf giving truncated output when nmaskbits > 32.

Test program:

/* assumes 64-bit arch */
int main(int argc, char **argv)
{
	char buf[1024];
	unsigned long mask = 0x0000000002000002UL;
	bitmap_scnprintf(buf, sizeof(buf), &mask, 48);
	printf("%s\n", buf);
	return 0;
}

Without the patch, the test prints "0002".
With the patch, the test prints "02000002".