tighter argument matching in lead/lag. closes #683. related to #681
Set the row.names by the first non-short length

Before this was always using the first length, which resulted in the
data.frame being truncated if the first argument was a length 1 vector
to be recycled.

Fixes #680
Add note to news
Simplify logic for NA length