Minor improvement in attribute domain adapt functionality.
1. A generic array is used where possible. Less template code.
2. Wherever a boolean type is used, multi-threaded writing can be used.
3. For singles, can use a simplified version.
---
Boolean multithreading advantage
~3x...10x
{F13580216}
```
Timer 'Use Parallel' took 0.4, 0.4, 2.9 ms
Timer 'No parallel' took 1.2, 2.3, 20.4 ms
```
{F13576162}
```
Timer 'grain size = 1024' took 2.1, 0.6 ms, 2.0, 2.6, 0.9, 2.6 ms
Timer 'grain size = 2048' took 1.8, 0.5 ms, 1.8, 2.5, 0.9, 2.4 ms
Timer 'grain size = 4096' took 1.8, 0.5 ms, 1.8, 3.4, 0.9, 2.5 ms
```
According to the test results, can say that 2048 will be the best. It starts to show up at 3.6~million point meshes.