SeedingData: enforce de Bruijn graph property for path storage

This patch enforces the de Bruijn graph property. The new path
storage subsystem will refuse to store paths that break the de
Bruijn property.

Resolves-bug: https://github.com/sebhtml/ray/issues/142
Resolves-bug: https://github.com/sebhtml/ray/issues/141
Signed-off-by: Sébastien Boisvert <sebastien.boisvert.3@ulaval.ca>