Enable diagonal paths in A* implementation
Enable diagonal paths in A* implementation

The way this works is like so, where 'o' is the voxel we're trying to
leave, '_' is a possible exit, 'x' is an obstacle, and * is the exit.

    __*
    _o_
    ___

    xx*
    _o_
    ___

    xxx
    _o*
    ___

    xx_
    _ox
    __*

Basically, if both the north and east paths are available, AND the
northeast path is available, we use the northeast path.

SirCmpwn/TrueCraft,christopherbauer/TrueCraft,SirCmpwn/TrueCraft,illblew/TrueCraft,blha303/TrueCraft,illblew/TrueCraft,blha303/TrueCraft,SirCmpwn/TrueCraft,blha303/TrueCraft,thdtjsdn/TrueCraft,flibitijibibo/TrueCraft,christopherbauer/TrueCraft,thdtjsdn/TrueCraft,thdtjsdn/TrueCraft,flibitijibibo/TrueCraft,flibitijibibo/TrueCraft,illblew/TrueCraft,christopherbauer/TrueCraft