Refactored
Add input validation to Mojolicious::Plugin::Swagger2
Removed limitations in Swagger2 plugin
Will skip failing tests on win32

  Output from 'C:\Smoker\5201x64\c\bin\dmake.exe test':

  "C:\Smoker\5201x64\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
  t/00-basic.t ....... ok
  Can't open file "t%5Cdata%5Cpetstore.json": No such file or directory at C:\Smoker\5201x64\cpan\build\Swagger2-0.01-13AXjW\blib\lib/Swagger2.pm line 140.
  # Tests were run but no plan was declared and done_testing() was not seen.
  # Looks like your test exited with 2 just after 2.
  t/load-json.t ......
  Dubious, test returned 2 (wstat 512, 0x200)
  All 2 subtests passed
  Can't open file "t%5Cdata%5Cpetstore.yaml": No such file or directory at C:\Smoker\5201x64\cpan\build\Swagger2-0.01-13AXjW\blib\lib/Swagger2.pm line 140.
  t/load-yaml.t ......
  Dubious, test returned 2 (wstat 512, 0x200)
  No subtests run
  Can't open file "t%5Cdata%5Cpetstore.json": No such file or directory at C:\Smoker\5201x64\cpan\build\Swagger2-0.01-13AXjW\blib\lib/Swagger2.pm line 140.
  t/pod-as-string.t ..
  Dubious, test returned 2 (wstat 512, 0x200)
  No subtests run
  t/swagger.t ........ ok

  Test Summary Report
  -------------------
  t/load-json.t    (Wstat: 512 Tests: 2 Failed: 0)
    Non-zero exit status: 2
    Parse errors: No plan found in TAP output
  t/load-yaml.t    (Wstat: 512 Tests: 0 Failed: 0)
    Non-zero exit status: 2
    Parse errors: No plan found in TAP output
  t/pod-as-string.t (Wstat: 512 Tests: 0 Failed: 0)
    Non-zero exit status: 2
    Parse errors: No plan found in TAP output
  Files=5, Tests=14,  9 wallclock secs ( 0.06 usr +  0.11 sys =  0.17 CPU)
  Result: FAIL
  Failed 3/5 test programs. 0/14 subtests failed.
  dmake.exe:  Error code 255, while making 'test_dynamic'
Released version 0.02

       * Add Swagger2::SchemaValidator
       * Add Mojolicious::Plugin::Swagger2
       * Add expand()