erasure-code: separate profile from pool creation

This is weird; you're accepting a ```profile``` arg which might be an empty dict, in which case you build a new one with some undocumented default values. Why not just accept the args you really want? That way it can be documented.

btw, I still didn't know what ```k``` and ```m``` were so I had to look them up. I would either want them documented or to use the aliases ```data-chunks``` and ```coding-chunks``` which I saw in the docs.