cleanup conversions to BigInt,BigFloat

This adds a few missing conversions (e.g. Bool->BigInt), promote
rules and constructors. Also adds tests.