Finally found some free time to make the model:
.Blend file https://drive.google.com/file/d/0B3hHgiNtHATdM1ZLRGRrM1MxcE0/view?usp=sharing
.Fbx file https://drive.google.com/open?id=0B3hHgiNtHATdRXJHN2hldk1aTVk
The top shows the model with no division, middle shows the topology and last is how it should look when divided.
It is a manifold mesh as you asked.
You will note that the mesh is +/-15 000 triangles, although in a game it will be about a 1/3 (+/- 6 000 triangles) of that as I used reinforce loops instead of marking the edges.
To use marked edges you need a custom importer for it and you need to support custom normal importing. Because I didn't know if you have this in your engine I used loops, because they are part of the mesh they will always work.
The first object has no support, the second uses reinforce loops and last uses marked edges that would be used in games normally. You will see that the marked edges produce a very sharp look, this is often favored in games because of how small models appear on screen while playing.
It was interesting to make this model because I wanted to place in things that I knew can cause problems when divided, you will see there is triangles and such, the Catmull Clark Subdivision does work with them, it will be interesting to see if your code does.
I don't want you to feel like there is a obligation for you to complete the code or to perfect it, I am just interested in these kind of work as a 3D artist. If you ever do complete it please allow us to see the results. :)