Remove redundant get_batch_time function
Remove redundant instances of difficulty property

Difficulty is now loaded only by the requirements class, and is
automatically shared with constructions and recipes.
Logistic function batch crafting time reduction

A recipe can now have optional `batch_time_factors` array which
specifies maximum time reduction for a single craft as a percentage,
and a minimum batch size to reach the full time reduction.