Issue#27: C interface implementation

following issue #27
I am not really happy with allocated pointers being (optional) return value. As you know the return value can be ignored and then the allocated data will be lost. Can you please change it to 

`SC_API int sc_c_parse(const char* source, sc_result_s** result, sc_blueprint_t** blueprint)`

Where return value is the error code.

I do not like the inconsistency – why `sc_blueprint_t` and `sc_result_s` – `_s` vs `_t` please fix this? Also I am missing the parser options – `BlueprintParserOptions options`!