Bug-Fixing and small improvements: Ghost works except for running

8/7/14
More fixing. Most of ghost AI works except running.

CHANGES:

Character.java:
*Moved abilityCooldown ints to the characters that actually need them.
Each character will override endTurn() to increment variables.

*Added activate() (for activating a single character, used in revive),
deActivate()(for deactivating a single character, used in death), and
activateArea(for activating an area around a character).

*Added getImageHit() and getImageDead() for getting specific images if
needed instead of just using getImage().

*Changed the revive() method that uses character to simply call the
revive that takes input of a DungeonTile. Less redundancy.

*Added Hashcode() and equals() functions to assist in other functions.

*Changed AIReviver() to get a deadCharacter if one is available. It also
returns a boolean, false if it does not revive and true if it does.
Takes an input boolean based on whether it is ready to revive.

CombatJam.java:
*implemented getImageHit() and getImageDead()

DeadCharacter.java:
*Added HashCode() and equals() methods

DungeonBuiler.java:
*Added static int firstInactiveChar that allows the active characters to
be looped through in the characterList. Active characters are placed
first in the characterList.

*Fixed item spawning.

DungeonMain.java:
*Simplified building based on test or not.

*Modified game loop to only loop through the characters up to
firstInactiveCharacter because those are the active ones.

*Messed with death animations to no real effect, but preventing
concurrentModificationExceptions.

DungeonTile.java:
*Changed hashCode() and equals(), removing dependence on Character and
deadCharacter. Coordinate should be sufficient.

Ghost.java:
*Added coolDown variables here. Decremented in endTurn().

*If-bashed until ghost AI worked. Run still is broken, but if it
revives, then cooldown is reset.

HealthPot.java:
*Added getImage().

Images:
*In different states of the ghost, it should have different appearances,
ex. running, ready to heal.
I am planning to photoshop scared eyebrows for running and a halo for
healing.

Inventory.java:
*Added HashCode() and equals() methods.

Player.java:
*Made activating enemies more efficient by only actually activating the
column/ row that becomes newly visible instead of the entire visible
space.