added a float to decimal function because in python 2.6 casting a float to a Decimal does not work

fixed a python2.6 bug and also added long to the list of valid numeric variable types

fixed a bug with defining longs in python3

fixed a bug where long doesnt exist in python3

fixed a bug importing six

fixed another import issue with six

fixed a bug where float_to_decimal was being called on nonfloats