add default vector implementation

As requested by sk89q in <https://github.com/SpongePowered/Sponge/pull/29>.
@sibomots Not only are x and y not volatile, they're also final variables, which means they can not change *at all*, much less while the code is executing. A vector in this implementation is an immutable object.

Also you might wish to come to the GH website and edit your comment a little, your email client seems to have screwed up the formatting somehow :D