Guide cargo thru functions

My clarifications around variables and bindings may be controversial (although I think they're helpful), so be sure to take a look.

These edits include changes from sections 3 through 6 (Hello, Cargo to the end of Functions).

@steveklabnik 
This changes the meaning, and it's not strictly true. You can leave something uninitialized, you need to initialize it before using it.