hypertask 0.1.2

A cli task manager
Documentation
ok, I'm going to abandon the hypercortex thing for now:

+ pin is the only other thing it uses, and that's better done as a set of shell scripts and a few text files 
+ all the other things I wanted are actually already handled with my personal server, what's really the point 
+ the whole hypercortex thing was probably feature creep from the begining 

## architecture

Apps will interface with the tasks through the engine, applying queries, running mutations and getting results

`Task`s will be simple structs that can respond with `bool` to `Queries` and update themselves with `Mutations`

## Notes
The Engine needs to be aware of every task so that it can statelessly defined the minimum needed id prefix to uniquly identify a `Task`. For this reason there's no real reason to implement it as a full iterator. it can still output an itterator once it's done though...

The uniq id prefix thing is a platform specific issue, it should be handled by the cli, not the engine. The engine doesn't need to produce a vector because of IDs, it need to produce it because of sorting