Fix for strange Duration behavior when using strings for values

Added unary + operator to ms, days, and months in Duration constructor when building internal representations
Added tests that check against string initialization of Duration
parameters
Closes #968