move item generators into libs

for consistency with metadata generators
add docs for item generators