Bump version number to 0.5.7-dev
(erlang) Fix generation of -type for imported variants (close #22)

-type for variant definitions like the one below was generated incorrectly:

.import [ .module foo ]
.variant [
        ...

        .option [ .type foo/some-variant-type ]
]
Fix parsing of enum options with dashes from JSON

The parser was incorrectly expecting names with dashes instead of underscores.
Add support for compiling with OCaml-4.00
(piqi) Don't convert '_' to '-' when deriving modname from filename

Such conversion was leading to some nasty behavior:

- it was impossible to find correct extension modules for the modules with '_'
  in their file names
- including modules with '_' in their file names could lead to including them
  twice under two different names (one with '_' and another one with '-')
Self-spec refactoring (round I)
Self-spec refactoring (round II)

Move piqtype to piqi-impl and turn piqi-type and field-mode into enums.
Self-spec refactoring (round III)

Rename piqdef to typedef
Self-spec refactoring (round III)

Consistently use piqi_ prefix for ocaml-name and erlang-name fields.
Self-spec refactoring (round V)

Rename typeref fields to piqtype
More internal field renaming
Remove obsolete piqilib/piqobj.ml.m4
Revise piqtype-core.piqi and re-enable its test
Self-spec refactoring (round VI)

Get rid of "word" and "text" built-in types, and provide an alternative way to
control Piq representation of string values using a new "piq-format" property.
Self-spec refactoring (round VII)

Rename "piq-any" built-in type to "piqi-any" and some other changes.
Self-spec refactoring (round VIII)

Initial step in explicit separation of Piqi spec (i.e. stable
self-specification) and Piqi lang (i.e. the .piqi language).
Fix internal bug related to extensions for Piqi fields and options
Self-spec refactoring (round IX)

More or less complete separation of Piqi self-specification and Piqi language.
Better handling of typedefs nested in functions

- fully implement .override parameter for extensions which leads to overriding
  existing fields with the ones defined by extension
- get rid of anonymous-* typedefs in piqi-lang.piqi by reusing the existing
  typedefs and use the new .override extension
(ocaml) Add a new .ocaml-optional field property

It allows to represent optional fields with defaults as having 'a option OCaml
type instead of 'a