[C] Fix Witches dropping 0-stacks; reduce NMS diff. Fixes BUKKIT-3554

## Revised Description
The Issue: Witches will often drop "ghost" ItemStacks on death. These ItemStacks have 0 count, so they will still render, but add nothing to a player's inventory.

Justification for this PR: Despite the large amount of red, this reduces the diff from NMS (see https://gist.github.com/gmcferrin/5251660) from the previous CraftBukkit code, as well as fixing the issue.

PR Breakdown: The NMS code for choosing the number of items to drop (`int j = `) is moved out of // Craftbukkit comments by moving down the list creation. Checks for whether the count is more than 0 are removed. Create EntityLiving.getRareLoot() to reduce code duplication. Stop saying // CraftBukkit start - whole method; when we're not changing the whole method anymore. Remove the need to have a special invocation of callEntityDeathEvent when there is no loot drops. In EntityCreeper, stop using `k` and checking whether the loot id isn't 0, use `count` instead.

## Original Contents
### [C] Fix witches dropping empty ItemStacks on death. Fixes BUKKIT-3554
The Issue: Witches will often drop "ghost" ItemStacks on death

Justification for this PR: This prevents drops that can not be picked up from being created which confuses players and differs from vanilla functionality.

PR Breakdown: This ensures that any drop contains at least 1 item.

JIRA Ticket: https://bukkit.atlassian.net/browse/BUKKIT-3554