add contribution guide, update readme, documentation tidying