logic in leap_year? unfinished

partial commit
tests use raise error instead of error string
use until instead of loop do
add library guard