Fixed #23130 -- BooleanField should not override 'blank' if choices are specified

- Blank override only occurs if choices are not specified.
- Wrote tests to check blank override with and without choices.