A better ISound implementation 

Introducing, ForgeSound!

I've seen a lot of people:
A) Complain that PositionedSoundRecord doesn't allow very much customization when it comes to sounds. (including myself)
B) Create something very similar to this in their mods/core libraries.

So, I've decided to type this up and add it to Forge, so that everyone can have this, and that the same thing isn't in multiple core libraries. It's basically an ISound implementation with a ton of constructors and setters, allowing for customization of all sounds, vanilla or modded. I also added a javadoc to PositionedSoundRecord so that people know that this exists. I don't know how many people will actually read the javadoc (which is why I thought about deprecating PositionedSoundRecord for about half a second, then realized that would probably not be a good idea.), but for the people that might, it's good for them to know that a good alternative exists.

I probably screwed up multiple formatting things (I tried not to, but things always sneak up on you), so let me know what I need to fix. Otherwise, let's see how this turns out!
The point is you have a setLocaiton function, you should drop ANY constructors that have location information and have people use that.