Non-coherent discriminator
That $\angle$ is "angle". As the text right below it indicates, it's the phase of a complex number, in this case the phase of the sum of squared $p_k$.

Your second question: I really don't think pseudocode makes this any clearer, but sure:

factor = 1
sequentially for each timestep n:
    s = r[n] * factor
    t = integrate_over_last_N_and_decimate_by_N(s)
    u = remove_bits(t)
    v = non_coherently_integrate_over_last_K(u)
    w = non_linear_discriminator(v)
    x = loop_filter(w)
    y = nco(x)
    factor = generate_carrier(y)


I mean, that's a pretty straightforward block diagram.