Made CodeObject Nameable and gave better names to created CodeObjects

Don't merge yet, for the moment just using this pull request to track the work in this branch.

For a start, resolves #100.