Don't lose bits when combining literals.

Don't tell Literal() how wide the result of a literal operation is (at
least for +/-), let it figure it out.
Fix the width inference code in Literal.apply() to deal with negative
numbers correctly - we get values that appear to be too small (and
disagree with the Java debugger's ideal of the object's value!).
Use floatWidth and doubleWidth instead of 32 and 64 respectively.
By the time the Tester runs, all widths should have been inferred. Use
needWidth() instead of getWidth for signed_fix().
Disable superfluous scalastyle warnings in StdlibTest.scala.
Add testLitAddSub() for the "fixed" literal handling.
Don't override an explicitly set width for Literals.

Provide Literal.bitLength method to deal with bitLength anomalies.
Merge branch 'master' into literalwidths
Merge pull request #293 from ucb-bar/literalwidths

Literalwidths