Choosing the proper amplifier
Most op amps are not rail to rail and R2R op amps are expensive. you can work around it by picking the supply voltage a bit higher than your goal. for example if the maximum positive rail is 12 V you should choose 14 V. and also for negative rail do the same, -2 V for example.

For sensing current, Instrumentation amplifiers are ideal (such as AD620, AD623 etc). but for a simple project you can use good old but precise OP07 op amp.

With OP07 you can build your own in-amp:





Edit:

To control the load current you can use LM317, here's an example to give you an idea:







simulate this circuit &ndash; Schematic created using CircuitLab

When voltage drop on Rsense is higher than the referense voltage, the op amp which configured as an comparator will pull the adjust pin of LM317 to ground.  it will oscillate and will keep the current at a constant value.

Do the shunt and reference voltage calculation, good luck.