A 2.8 branch was created some time ago, but it is basically master without point cache, and without particles. As far as I know, no one is really working on some (big) 2.8 target except maybe the viewport developers (including me, though I haven’t done viewport stuff in a while), let alone working on a brand new particle system.
The node system that Lukas is currently working on isn’t accepted yet, it’s just him having fun so to speak. He has quite a few different branches where he tries new things, including the strand_nodes noted above by Ace Dragon, but nothing concrete yet. I did do a bit of work in the object_nodes branch, but again it was some time ago and things have changed. Lukas and I also briefly exchanged back then some ideas on how node-based simulations might work (I was working on my own fluid solver). Anyway, although I can see the potential for this node system, it might never make it in master, you never know, so let’s avoid speculating or getting excited too quickly :).
Concerning OP, I wouldn’t bother with the current particles code and I would start from scratch, possibly with a different paradigm. However simple your ideas might be, with the current particles code, it might become a nightmare fairly quickly (especially when it comes to multi-threading).
Personally, I would like to see particles (or points in general), strands and volumes as object types, at the same level as meshes and curves, separate from any simulator. Then, for example, you would have some particle system modifier (or nodes) that will take the points object and do the simulation on that object directly, instead of having the particles as secondary data created by the simulator itself from another object (the current paradigm). The workflow would be similar as creating cloths (model then simulate). Obviously you would need tools to generate the points (the simulator can still generate them, as well as secondary points). I have a branch where I tried implementing a volume object (OpenVDB to the rescue), but I haven’t tried implementing this point object, or anything like that in Blender yet (though I’m trying in my own software (shameful advertisement ;))).