Created a faster bspread function.

- If you are spreading diagonally, it's unnecessary to run convolve2d
  using a square kernel.
- Also added a code_parts_many, that can process many samples at once.
- Added bspread_example.py