Fix bug with :e reusing windows.

Was assigning to buffer->name the return value from strtok, which isn't
safe. Change buffer->name to be a buf_t to make memory more explicit.