Explain switchMap(), flatMap(), mergeMap(), map() and Observable in Angular?