Implemented "required" keyword

Implemented "required" according to the draft-04. It is now an array of
strings. In the generated schema this keyword is printed right before
the "properties" keyword. Updated unit tests. All unit tests have
passed.

Project debt: consider to change data type of the JsonSchema .Required
property from  IList<JToken> to IList<string>.