Add C++17 structured bindings support for fixed-size Matrix and Array

libeigen/eigen!2336

Closes #2247
8 files changed