Added $schema keyword and more schema restrictions. Started to make tests more wide-ranging.