Get BSON serialization to work during CTFE half way.

LittleEndianToNative doesn't work for CTFE, so it doesn't work, yet.
Refactor, fix @byName for arrays/AAs and add @asArray for the serialization code.

- Using a new SerializableFields template to simplify iteration over composites
- Added @asArray to force serialization of a composite as a flat array instead of an AA
- @byName now also works for enum array/AAs in addition to enum fields
Add a first version of an ORM with a MongoDB driver for the start.

The current proof-of-concept functionality is limited to insertion and simple queries.

The main goals, which are not achieved by the existing solutions for D, are the avoidance of memory allocations for optimum performance and the use of statically checked query expressions, at least for the most common queries. Avoiding memory allocations is achieved by making use of templates and related meta programming tools and by using direct serialization of D types instead of storing a database specific data format in memory. Note, however, that this is still dependent on the database driver and the current MongoDB driver does perform some allocations.