[bugfix] fix bug #1457 - FieldVector::operator*=() called with an int is ambiguous

The bug affected operators: +=, -=, *=, /=. It has been fixed by using:
enable_if<is_convertible<ParamType, FieldVector::valueType>, ...>
Revert "Add a few explicit casts to silence warnings concerning overloading ambiguities"

This reverts commit cf4bf4d854653eb447fcc287ae62d6ca35e23f28.

The epxlicit cast isn't needed anymore as we have a fix for the
ambiguous operator overload.
[test] avoid explicit casts to make sure the operators work correctly (see FS#1457)
[test] use different epsilon for int and float types

This avoids compiler warning about implicitly rounded to zero