handle board categories in epoch_import and epoch_stream
populate categories in top-level
update smf-import to work with toplevel args
delete and restore keys instead of allowing in core
increment epochcore version
alphabetize packagejson
log category errors
preserve existing categories on import