Crossplatform tests; added new testcases

Used IPC::Run to make tests run on both Linux and Windows
Added new testcases