Minor syntatic fixes
Move Validators into separate files

Also replaces records with structs
Convert records to structs
Update README
Update README
Update to elixir 0.14.3
Basic support for maps and struct validation