Adds support for optional web field.

This change makes nimrod-code/packages#31 useful.
Rewrites requiredField on top of optionalField.
Puts TPackage json initialization into single proc.
Merge pull request #13 from gradha/pr_adds_web_field

Adds web field