ignore vim swp files
Make names of proto message more hygienic

Everything except rust-builtin names like `str` or `i32` should now be
possible message names. This was done by not `use`ing any modules, but
instead call them using their full names which makes conflicts impossible.

Also added vim's *.swp files to .gitignore.
Update for language changes, ~[T] -> Vec<T>