(Binary Analysis) Bug fix for symbolic semantics

Another case of "((uint64_t)1 << nbits" when nbits==64 not behaving
as one would expect on x86.  Replaced with IntegerOps::genMask().
(Binary Simulator) Clone detection results include source listings

E.g., "show_results clones.db list 37" will list the function whose
ID is 37 in a combined source/assembly format like this:

> WARNING: This listing should be read cautiously. It is ordered according to the
>          source code with assembly lines following the source code line from which
>          they came.  However, the compiler does not always generate machine
>          instructions in the same order as source code.  When a discontinuity
>          occurs in the assemly instruction listing, it will be marked by a "#"
>          character.  The assembly instructions are also numbered according to
>          their relative positions in the binary function.
> Function ID:                   37
> Binary specimen name:          i386-pointers-g
> Function name:                 flow05
> Entry virtual address:         0x0804856a (134514026)
>  /---------------------------- Source file ID
>  |   /------------------------ Source line number
>  |   |   /-------------------- Instruction out-of-order indicator
>  |   |   |  /----------------- Instruction position index
>  |   |   |  |      /---------- Address
> vv vvvvv v vv vvvvvvvvvv
>  1.file  |/home/matzke/GS-CAD/ROSE/sources/edg4x-simulator/projects/simulator/local_tests/types.c
>  1.264   |    return retval;
>  1.265   |}
>  1.266   |
>  1.267   |/* both arguments are detected as pointers. */
>  1.268   |int flow05(int n, int *a, int *b)
>  1.269   |{
>          |  0 0x804856a:push   ebp
>          |  1 0x804856b:mov    ebp, esp
>          |  2 0x804856d:sub    esp, 0x10
>  1.270   |    int i, retval=0;
>          |  3 0x8048570:mov    DWORD PTR ss:[ebp + 0xfc<-0x04>], 0x00000000
>  1.271   |    for (i=0; i<n; ++i)
>          |  4 0x8048577:mov    DWORD PTR ss:[ebp + 0xf8<-0x08>], 0x00000000
>          |  5 0x804857e:jmp    0x0804859d<<Insn>>
>          # 16 0x8048599:add    DWORD PTR ss:[ebp + 0xf8<-0x08>], 0x01
>          | 17 0x804859d:mov    eax, DWORD PTR ss:[ebp + 0xf8<-0x08>]
>          | 18 0x80485a0:cmp    eax, DWORD PTR ss:[ebp + 0x08]
>          | 19 0x80485a3:jl     0x08048580<<Insn>>
>  1.272   |        retval += (i%2) ? *a : *b;
>          #  6 0x8048580:mov    eax, DWORD PTR ss:[ebp + 0xf8<-0x08>]
>          |  7 0x8048583:and    eax, 0x01
>          |  8 0x8048586:test   al, al
>          |  9 0x8048588:je     0x08048591<<Insn>>
>          | 10 0x804858a:mov    eax, DWORD PTR ss:[ebp + 0x0c]
>          | 11 0x804858d:mov    eax, DWORD PTR ds:[eax]
>          | 12 0x804858f:jmp    0x08048596<<Insn>>
>          | 13 0x8048591:mov    eax, DWORD PTR ss:[ebp + 0x10]
>          | 14 0x8048594:mov    eax, DWORD PTR ds:[eax]
>          | 15 0x8048596:add    DWORD PTR ss:[ebp + 0xfc<-0x04>], eax
>  1.273   |    return retval;
>          # 20 0x80485a5:mov    eax, DWORD PTR ss:[ebp + 0xfc<-0x04>]
>  1.274   |}
>          | 21 0x80485a8:leave
>          | 22 0x80485a9:ret
>  1.275   |
>  1.276   |/* both arguments are detected as pointers. */
>  1.277   |int flow06(int n, int *a, int *b)
>  1.278   |{
>  1.279   |    int i, retval=0;
>
(Binary Simulator) Clone detection "show_results functions"

The command:
   ./show_results DBNAME functions

produces a list of all the functions detected by semantic
clone detection analysis.