Added crs_builder backend

The backend is similar to crs_tuple in the sense that it is only used
for initialization of AMG hierarchy. The difference is that crs_builder
does not need fully constructed matrix in CRS format (which would be
copied into AMG anyway), but builds matrix rows as needed.
This results in reduced memory requirements.