Nonabelian Bundle Gerbes, Their Differential Geometry and Gauge Theory