Use new `Vec#append_one()` method

* The `append_one()` function was moved to a method of `Vec`.
* Struct fields are now private by default.

See [rust PR 13221](https://github.com/mozilla/rust/pull/13221) and [rust PR 13184](https://github.com/mozilla/rust/pull/13184).

I've incorporated my visibility changes as I based them off my exp/append-one branch so I could continue building on my system. I've marked every field public which would've been public before the visibility rules changed.

~~The rust commit is only 5 hours old; so I'm not sure that Travis will build this yet.
(*shake shake shake* :8ball: `Outlook Not So Good`)~~