Fix some round() confusion

Why insist on using the same name as a standard function? Causes
confusion with VS2013 at least, "ambiguous call to overloaded
function."

Sure, this might be caused by a bug in the compiler (or its
headers). Or maybe vagueness in the language definition? Who cares, I
still claim that intentionally writing an own function called round()
is asking for problems. So rename it to round_to_long().

(And then the return value of calls to this function, which is of type
'long', is assigned in a couple of places to variables of type 'int',
fun... Intentional, knowing there will be no overflow, or a bug
waiting to happen?)

Change-Id: If15d44f10f9f05de1c7c79492baf158eee770b8b