Add more tests for DefaultModelGenerator
Add initial support for JSON printing for BB

Added initial support for outputting JSON instead of Backbones Model
extended JavaScript classes. This new mode can be used when giving the
validation data dunamically to a JS app. The models are written by hand
for the app, but the validation data is fetched when the app starts and
injected to the client side models.
Change TestMain to use BackboneModelProcessor
Add initial support for more dynamic processors

Added support for configuring BackboneModelProcessor in more dynamic way.
This means that user can define which ModelProcessors are used. E.g. user
can only write validation or only default value data. In addition user can
create new blocks to the models.
Clean contructing processors

Removed duplicated constructor parameters to make it easier to setup a
processor.
Clean TestMain

Cleaned TestMain by removing demostration classes to another class.
Changed some variable names to better and added couple of comments.
Fix JSON formatting bugs with model names
Clean BackboneModelProcessor creation

Add builder for BackboneModelProcessor

Change BackboneModelProcessor to use a list of ModelProcessors instead of
predefined ModelProcessors. This makes configurating the
BackboneModelProcessor much easier.

Changed how writers are set for ModelProcessors. The old way required the
same writer to be set for multiple different objects. The new system
allows the writers to propagate to other classes when it is added to
BackboneModelProcessor.
Change BackboneModelProcessor.Mode to OutputMode

Changed BackboneModelProcessor.Mode as a separate enum OutputMode and
moved it to fi.vincit.jmobster.languages.javascript.writer package.
Add tests for BaseModelProcessor and BackboneModelProcessor.Builder

Added tests for BaseModelProcessor
Added tests for BackboneModelProcessor.Builder
Added DummyDataWriter for tests. Writer does not do anything and is always
open.
Optimize BaseValidator initialization

Added a cache map to improve method searching time. Quick profiling showed
that sorting methods by annotation improves method findMethodsWithAnnotation
performance with 1000 processed classes by a dcrease from 450 ms to
185 ms (= sorting annotations + finding methods = 160 ms + 25 ms).

In Java VisualVM that method was reported to take 30% of the TestMain's
time. After optimization it dropped to 18%.