Analysis of Boolean Functions: New Directions and Applications