Make factorint take only integer arguments

[Issue 3672](http://code.google.com/p/sympy/issues/detail?id=3672)
Minor fix.
Before
```
>>> factorint(10.1)
>>> {2: 1, 5: 1}
```
Now, it raises a `ValueError`.
Also, a test has been added.