rohash: fix potential bad shift

Fix issue detected by Coverity:

<pre>
*** CID 1197756:  Bad bit shift operation  (BAD_SHIFT)
/src/util-rohash.c: 74 in ROHashInit()
68         }
69         if (hash_bits < 4 || hash_bits > 32) {
70             SCLogError(SC_ERR_HASH_TABLE_INIT, "invalid hash_bits setting, valid range is 4-32");
71             return NULL;
72         }
73
>>>     CID 1197756:  Bad bit shift operation  (BAD_SHIFT)
>>>     In expression "1U << hash_bits", left shifting by more than 31 bits has undefined behavior.  The shift amount, "hash_bits", is as much as 32.
74         uint32_t size = hashsize(hash_bits) * sizeof(ROHashTableOffsets);
75
76         ROHashTable *table = SCMalloc(sizeof(ROHashTable) + size);
77         if (unlikely(table == NULL)) {
78             SCLogError(SC_ERR_HASH_TABLE_INIT, "failed to alloc memory");
79             return NULL;
</pre>

This was only a potential issue as ROHashInit was only called with
hash_bits 16 in the code.

Bug #1170. https://redmine.openinfosecfoundation.org/issues/1170

Prscript:
- PR build: https://buildbot.suricata-ids.org/builders/inliniac/builds/281
- PR pcaps: https://buildbot.suricata-ids.org/builders/inliniac-pcap/builds/199