neaten a few specs in record_spec
make Record's initializer take named parameters. also removed Record::valid? since the initializer now raises exceptions and valid? is useless