Add single component samplers.

This PR adds `SingleComponentSlice` and `SingleComponentMetropolis` (derived from base class `SingleComponentSampler`) and appropriate unittests.

It was confusing before that in PyMC 2 the normal usage of samplers mostly produced single component updates while instantiating `Slice()` or `Metropolis()` in PyMC 3 does block updating by default.

To have an easy option to get to single component samplers I added these.

I had to skip the unittest for Metropolis as it was converging to the correct value, I think related to https://github.com/pymc-devs/pymc/issues/358. (FWIW I did review the code but couldn't find any logic bug).