Boolean-like algebras