Translate shl overshifts into 0

The other shift operators still need to be changed
Added a test case for testing overshift behaviour of Shl and fixed
a bug in the previous commit where 32-bit width was assumed.
Fixed overshifting an expression by a constant so that we overshift to
zero. A test case was added for this.

In addition the use to vc_bvExtract()  was removed for shifting left by an
expression because we don't want/need bitmasked behaviour anymore.
Added C test case that checks that concrete and symbolic overshift
behaviour for left shift are identical.
Fixed overshift of logical right shift by symbolic so that it overshifts
to zero. Test case is included.
Fixed overshift of logical right shift by constant so that it
overshifts to zero. Test case is included.
Added C test case that checks that concrete and symbolic overshift
behaviour for logical right shift are identical.
Fixed overshift of arithmetic right shift by symbolic so that it overshifts
to zero. Test case is included.
Fixed overshift of arithmetic right shift by constant so that it
overshifts to zero. Test case is included.
Added C test case that checks that concrete and symbolic overshift
behaviour for arithmetic right shift are identical.
Remove STPBuilder::getShiftBits() which is no longer used.
Explicitly get the width of the "shift" expression rather than assuming
that is the samw width of the "expr" expression.

It probably is the same width (it defintely is in SMT-LIB but I'm not
sure about STP) but it is probably better to be explicit.
Merge pull request #64 from delcypher/overshift-fix

Overshift fixes