Separated out the Opponent struct into it's own file.

Divided Match from Opponent, this might be a little too OOP for Go, but
for now I'm going to use what I know until I get a better grasp of Go
best practices.