Fixes #604 Crash on crafting

The AE2 has in the contract that the item field in an IAEItemDefinition can be null due to the fact, if a special item is deactivated. This needs to be checked.

The base code was enhanced through Javadoc and split in responsibilities
Also use the player's inventory to handle NEI fills

If the items for a recipe are not available in the ME network when you
shift-left-click the NEI question mark, also try to pull from the
player's inventory.

The 'ic' local variable was renamed to 'testInv', as it's used to test
the IRecipe on various crafting propositions to see if the item
satisfies the recipe.

Closes #564, "Shift clicking "?" on NEI recipe ignores items in the
player's inventory".
Changed Sounds + Materials + aligned to vanilla

Aligned it to Quartz
Merge pull request #575 from riking/recipe-pull-player

Use player's inventory to handle NEI fills
Merge pull request #610 from TheJulianJES/Sound-Material-Fix

Changed Sound and Material, also aligned some to vanilla
Fixes #572 Enable inventory validation for any kind of Player
Merge pull request #616 from thatsIch/e-572-valid-inventory

Fixes #572 Enable inventory validation for any kind of Player
Merge pull request #605 from thatsIch/b-604-craftingcrash

Fixes #604 Crash on crafting