Updated numpy usage, imports and types in topo/base/cf.py and removed MaskedCFIter

Replaced individual imports from numpy with single import and made
type definitions explicit where they weren't already. Changes
norm_total property from float32 summation to float64 summation.
Also eliminated empty or very old comments and deleted the CFIter
alias MaskedCFIter, which was spread through a number of files.
Replaced the action performed for apply_output_fns_init in CFProjection

Previously setting the apply_output_fns_init flag to True, passed
the single_cf_fn's contained within the weights_output_fns to the CF
level. This commit changes this behaviour, calling the
apply_learn_output_fns method at the projection level without an
active_units_mask, effectively performing the same operation but
improving consistency.
Removed calls from compute_joint_norm_totals_opt to norm_total property

The compute_joint_norm_totals_opt function in topo/sheet/optimized.py
was accessing the Python property norm_total for each CF, which is
a) a lot slower and b) in previous versions entailed 32-bit accuracy
summation of weights (something that has since been fixed). This commit
does the summation in C, speeding up the operation and making it
more consistent with other optimized functions.
Removed superfluous MaskedCFIter import in testcf.py