fn -> block, cleanup

function types no longer exist, only block types
*_block_type definitions now in their own file
blocks now typedefed
May have worked out some bus error/segfaults problems
    The answer is Block_copy it seems