Hexaflexagons And Other Mathematical Diversions