Fixed problems with adding air to player inventory

The PR fixes #104, although the massive error could not be reproduced on a clean master. This PR rewrites the addItem code to make it cleaner and more structured.

Essentially, air has a max stack size of 0, so when added using the old algorithm it would fill every single open spot with air. When this was loaded from NBT, all the air occupied index 0, replacing the 0<sup>th</sup> element. Instead, air not only occupies solely the first spot, but addItems now mimics craftbukkit functionality in stacking, and replaces air with null.
The change on line 215 does fix the problem as described in the original issue. However, the original code is also highly vulnerable to manipulation by plugins, and even though you wouldn't notice, giving even a single block of air fills every empty space in your inventory with null, which doesn't really "matter" but it's sloppy. Not to mention it shifts from a functionality not expressed in vanilla or craftbukkit and now shows the craftbukkit behavior.