Fixes in player skin/model and command-line arg handling.

User-visible changes:
----
- **Fix:** All known issues with ChangeModel and player skins fixed.
- **Fix:** Changing texture pack no longer resets player skins.
- **Fix:** Client crashed on startup if 4 or 5 arguments were given. Arguments 5 (skinServer) and 6 (fullscreen) were supposed to be optional, but weren't.
- **Fix:** Sheep models were being rendered without fur.
- **New:** Client can now understand direct-connect URLs in command line. There are now three ways to launch the client:
    - **Singleplayer:** <code>java -jar client.jar</code>
    - **Multiplayer A:** <code>java -jar client.jar directConnectLink [skinServerUrl [fullscreen?]]</code>
    - **Multiplayer B:** <code>java -jar client.jar serverIP port username mppass [skinServerUrl [fullscreen?]]</code>

Other changes:
----
- Player and NetworkPlayer classes now both derive from HumanoidMob, which hosts shared rendering code and skin/model changing API.
- Removed most serialVersionUID variables. Since we no longer use raw Java serialization for save games (and never will), those are unneeded. They should be kept for exceptions though -- those should always be serializable.
- Fixed SkinDownloadThread not logging errors properly.
- When SET_BLOCK_PERMISSIONS packet is received, block *names* are now logged instead of *IDs*.
- Added constants for all mob texture names to <code>Textures</code>.
- Cleanup and optimization in Level.java. Switched from using an ArrayList to ArrayDeque for tickList.
- Got rid of ability to render humanoid mobs with armor, which was apparently possible in survivaltest.