Unit testing

This pull request contains everything from #30 as well as a unit test project and JSON schema. The unit tests in place are very basic and should be accompanied with a lot more tests, not just testing happy path, but error scenarios as well. Inspiration should be drawn from the [tests in the Python library](https://github.com/getsentry/sentry/tree/master/tests).

I'm hoping the JSON schema can be used as a basis for testing the generated JSON across all languages, but it probably needs a bit of manual love. The current version is generated based on the `JsonPacket` type, which probably isn't complete and needs more `JsonXyz` attributes to specify not only how serialization works, but also deserialization and validation (which should affect the generated schema).

The branch should be ready to merge, but please check it out on its own and let me know if there's anything I need to do with it.

Last but not least, it's worth to mention that the changes I've made are **backwards incompatible** at the C# / MSIL level, but should generate the same JSON (which the accompanied JSON schema and tests are supposed to ensure).