fix for "non-hour" timesheets

Timesheets may have an amount hat is not measured in time, but rather in
dollars or "amount" - basically we cannot rely on hours being a correct
float out of the box.
When a timesheet has no hour value, then this becomes an empty string,
shich is correctly converted to 0.0 by to_f