Yet more "signed vs. unsigned" warning fixes. This time I actually made the sub-module's Makefile use the more strict compilation flags.
Remove the enumeration of challenge types. With the move toward a more general library, I'd like each application to be able to support its own challenge types, (without the library being aware of them). We move toward that by having the library simply store and save a string for the challenge type. A next step will include the library providing support to load only categories of a particular challenge type.
Further separation of mnemon main program from mnemon library. As I'm starting to generate a real interface here, I continue to find functionality that would violate that interface. Fix this by moving things up into the main program as necessary to keep the interface fairly clean. For example, all session-based notions, (such as to_introduce, to_master, etc.), are now part of a new progress_t within main.c instead of being part of mnemon_t in the library, (since one program might have a vey different notion of what a session is than another).
Break mnemon up into a main program and a mnemon "library" This is in preparation for other programs to start sharing the mnemon code, (likely as a git submodule, so we don't actually build the code as an actual library).