Fix marquise_ctx structure for CFFI's benefit

Python's CFFI has problems with arrays in the struct definition. It's not clear how long it would take to hunt down the root cause of the problem, but it's time that we don't really have. As a pragmatic solution, we've changed the marquise_ctx structure to make CFFI happy.

This is necessary to get a pymarquise working again. We could revert to an older libmarquise+pymarquise combo that avoid this problem, but we'd lose the benefits of sourcedict caching.

Outcomes
----
* Version bump to 2.0.3
* Pymarquise 0.2.2 can use this code now
* Fixed erroneous logic in the `free_ctx`, this avoids a free-before-use condition
* Added a (very basic) test accordingly
* Fixed an Automake syntax bug