[stm32][spi] attempt to fix issue #348
- added extra status flags and interrupt to handle different transaction input and output lengths
- added support for before_cb, made the callbacks happen while slave is still selected
- added support for 0 output_length case