Added modular input parsing classes, unit tests & unit test data

Classes: validation_definition & input_definition
Tests: test_validation_definition & test_input_definition
General code cleanup & use of pythonic code style
More cleanup, moved common code/imports to splunklib/modularinput/modularinput_testlib.py

Also removed the malformed data exception since it's not needed.
Add a space after # for comment
Added Event & EventWriter classes, their unit test & test data

Also updated modularinput_testlib with an XML comparing function
Event, EventWriter, and tests are done; need to elaborate docstrings.

Also added newer test data, and minor tweaks throughout.
Added Argument & Scheme classes, testdata and unit test.
Fixed file naming convention to test_*
Updated docstrings, moved *_testlib to /tests/modularinput/, general code cleanup
Removed temp code/comments, uncommented useful code
Code cleanup, created a utils file in splunklib/modularinput
Moved all utility functions into utils.py, tests now reference them from here; no duplicated code
Pythonic naming convention fix
Everything is feature complete, now in review!
General code cleanup
Minor fixes: spacing & naming conventions
More code cleanup
Final bits of code cleanup & simplification
Added 2 modular input examples.

*pythonic_github_forks - takes a github user/org name and repository
name, creates an even with the number of forks on that repository
*pythonic_random_number - takes a min and max number, creates an event
with a random value between the min and max
Update gitignore to ignore install-specific data for example apps