Allow blocks to choose how they handle indirect power

Normally, whether a block handles its own weak/indirect redstone power (i.e. whether `Block#isProvidingWeakPower` is called) is determined using `Block#isNormalCube`, which also determines certain block rendering aspects, such as ambient occlusion.  This makes it impossible for a block to determine its own redstone behavior while still retaining those rendering characteristics.

This PR introduces a new method to determine indirect redstone handling (which defaults, of course, to using `Block#isNormalCube` so that existing block behavior is not affected).  Mod authors can then override this method if they need to decouple a block's redstone behavior from its rendering.

My use case is a block which is "solid enough" for rendering purposes (ambient occlusion, face culling, etc.), but which is visibly hollow from the top and should not indirectly power adjacent blocks even when directly powered itself.