Optimized Dijkstra Map

Completely changed how dijkstra maps are calculated. Previously it could
take up to 50ms to calculate a dMap. Now, the time to compute is at MOST
3ms. Typically it takes less than 1.

New Method:

    set all the tiles of a map to infinite (or some unreasonably high number)
    set the goal tile to 0
    set d to 1 where d will be the distance value applied to a tile
    set q to a nil table
    add goal to q
    set r to a nil table
    while true
        for each tile in q
            for each tile neighbor
                if value of neighbor is not set and neighbor is passable
                    set the value to d
                    add neighbor to r
        move everything from r to q
	increment d
        if nothing in q stop