CI: Install moto from conda-forge
Closes https://github.com/pandas-dev/pandas/issues/27161
Has anyone seen the CI failures in https://dev.azure.com/pandas-dev/pandas/_build/results?buildId=13760&view=logs&jobId=d6a36677-9147-59f9-684d-001fc5c44c5e&taskId=3c0dbaee-3ff4-52d1-1ed4-1a677fa78d98&lineStart=51&lineEnd=52&colStart=1&colEnd=1

I'll rerun, in case it's a flaky thing.

<details>

```
=================================== FAILURES ===================================
____________________________ test_dtype_str[Index0] ____________________________
[gw1] linux -- Python 3.5.3 /home/vsts/miniconda3/envs/pandas-dev/bin/python

indices = Index(['ו39וו7ז7גל', '37בםקגףףיט', '6לר105זצ1צ', '03צב7נןפנש', 'רנ69כמג2בץ',
       'ו0סנו0שרע0', 'םךרגכמחעום', '4ףש64...',
       '59לםלט3אחל', 'ל0דץ96397א', 'ס42ה5שטף7ה', 'ךנזכזרשףנ4', '92לפנק9דגד'],
      dtype='object', name=('A', 'B'))

    def test_dtype_str(indices):
        with tm.assert_produces_warning(FutureWarning):
>           dtype = indices.dtype_str

pandas/tests/indexes/multi/test_format.py:12: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <contextlib._GeneratorContextManager object at 0x7f7c2578b0f0>
type = None, value = None, traceback = None

    def __exit__(self, type, value, traceback):
        if type is None:
            try:
>               next(self.gen)
E               AssertionError: Did not see expected warning of class 'FutureWarning'.

../../../miniconda3/envs/pandas-dev/lib/python3.5/contextlib.py:66: AssertionError
____________________________ test_dtype_str[Index1] ____________________________
[gw1] linux -- Python 3.5.3 /home/vsts/miniconda3/envs/pandas-dev/bin/python

indices = Index(['PgbLemiQlG', 'mBW9d8U9SF', 'fhlrgswk8i', 'YyNyyRlvSG', 'bVRVAHslZb',
       'iv047wHY9V', 'TV7aitXNQf', 'tNBK0...',
       'qLEIgqzQVA', 'FdpZxAh6ER', 'urzZYKPfzv', '9rHGRvtEDg', 'Kr8SbmiKTA'],
      dtype='object', name=('A', 'B'))

    def test_dtype_str(indices):
        with tm.assert_produces_warning(FutureWarning):
>           dtype = indices.dtype_str

pandas/tests/indexes/multi/test_format.py:12: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <contextlib._GeneratorContextManager object at 0x7f7c2c5a6588>
type = None, value = None, traceback = None

    def __exit__(self, type, value, traceback):
        if type is None:
            try:
>               next(self.gen)
E               AssertionError: Did not see expected warning of class 'FutureWarning'.

../../../miniconda3/envs/pandas-dev/lib/python3.5/contextlib.py:66: AssertionError
________________________ test_dtype_str[DatetimeIndex] _________________________
[gw1] linux -- Python 3.5.3 /home/vsts/miniconda3/envs/pandas-dev/bin/python

indices = DatetimeIndex(['2000-01-03', '2000-01-04', '2000-01-05', '2000-01-06',
               '2000-01-07', '2000-01-10', '200...000-05-16', '2000-05-17', '2000-05-18', '2000-05-19'],
              dtype='datetime64[ns]', name=('A', 'B'), freq='B')

    def test_dtype_str(indices):
        with tm.assert_produces_warning(FutureWarning):
>           dtype = indices.dtype_str

pandas/tests/indexes/multi/test_format.py:12: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <contextlib._GeneratorContextManager object at 0x7f7c257b4a90>
type = None, value = None, traceback = None

    def __exit__(self, type, value, traceback):
        if type is None:
            try:
>               next(self.gen)
E               AssertionError: Did not see expected warning of class 'FutureWarning'.

../../../miniconda3/envs/pandas-dev/lib/python3.5/contextlib.py:66: AssertionError
_________________________ test_dtype_str[PeriodIndex] __________________________
[gw1] linux -- Python 3.5.3 /home/vsts/miniconda3/envs/pandas-dev/bin/python

indices = PeriodIndex(['2000-01-03', '2000-01-04', '2000-01-05', '2000-01-06',
             '2000-01-07', '2000-01-10', '2000-01...     '2000-05-16', '2000-05-17', '2000-05-18', '2000-05-19'],
            dtype='period[B]', name=('A', 'B'), freq='B')

    def test_dtype_str(indices):
        with tm.assert_produces_warning(FutureWarning):
>           dtype = indices.dtype_str

pandas/tests/indexes/multi/test_format.py:12: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <contextlib._GeneratorContextManager object at 0x7f7c24f05358>
type = None, value = None, traceback = None

    def __exit__(self, type, value, traceback):
        if type is None:
            try:
>               next(self.gen)
E               AssertionError: Did not see expected warning of class 'FutureWarning'.

../../../miniconda3/envs/pandas-dev/lib/python3.5/contextlib.py:66: AssertionError
________________________ test_dtype_str[TimedeltaIndex] ________________________
[gw1] linux -- Python 3.5.3 /home/vsts/miniconda3/envs/pandas-dev/bin/python

indices = TimedeltaIndex([  '1 days',   '2 days',   '3 days',   '4 days',   '5 days',
                  '6 days',   '7 days',   ...s',  '97 days',  '98 days',  '99 days', '100 days'],
               dtype='timedelta64[ns]', name=('A', 'B'), freq='D')

    def test_dtype_str(indices):
        with tm.assert_produces_warning(FutureWarning):
>           dtype = indices.dtype_str

pandas/tests/indexes/multi/test_format.py:12: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <contextlib._GeneratorContextManager object at 0x7f7c24d30208>
type = None, value = None, traceback = None

    def __exit__(self, type, value, traceback):
        if type is None:
            try:
>               next(self.gen)
E               AssertionError: Did not see expected warning of class 'FutureWarning'.

../../../miniconda3/envs/pandas-dev/lib/python3.5/contextlib.py:66: AssertionError
_________________________ test_dtype_str[Int64Index0] __________________________
[gw1] linux -- Python 3.5.3 /home/vsts/miniconda3/envs/pandas-dev/bin/python

indices = Int64Index([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
            17, 18, 19, 20, 21, 22, 23...84,
            85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99],
           dtype='int64', name=('A', 'B'))

    def test_dtype_str(indices):
        with tm.assert_produces_warning(FutureWarning):
>           dtype = indices.dtype_str

pandas/tests/indexes/multi/test_format.py:12: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <contextlib._GeneratorContextManager object at 0x7f7c3595e2b0>
type = None, value = None, traceback = None

    def __exit__(self, type, value, traceback):
        if type is None:
            try:
>               next(self.gen)
E               AssertionError: Did not see expected warning of class 'FutureWarning'.

../../../miniconda3/envs/pandas-dev/lib/python3.5/contextlib.py:66: AssertionError
_________________________ test_dtype_str[UInt64Index] __________________________
[gw1] linux -- Python 3.5.3 /home/vsts/miniconda3/envs/pandas-dev/bin/python

indices = UInt64Index([9223372036854775808, 9223372036854775809, 9223372036854775810,
             9223372036854775811, 92233720...23372036854775905, 9223372036854775906,
             9223372036854775907],
            dtype='uint64', name=('A', 'B'))

    def test_dtype_str(indices):
        with tm.assert_produces_warning(FutureWarning):
>           dtype = indices.dtype_str

pandas/tests/indexes/multi/test_format.py:12: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <contextlib._GeneratorContextManager object at 0x7f7c24c7c5f8>
type = None, value = None, traceback = None

    def __exit__(self, type, value, traceback):
        if type is None:
            try:
>               next(self.gen)
E               AssertionError: Did not see expected warning of class 'FutureWarning'.

../../../miniconda3/envs/pandas-dev/lib/python3.5/contextlib.py:66: AssertionError
__________________________ test_dtype_str[RangeIndex] __________________________
[gw1] linux -- Python 3.5.3 /home/vsts/miniconda3/envs/pandas-dev/bin/python

indices = RangeIndex(start=0, stop=100, step=1, name=('A', 'B'))

    def test_dtype_str(indices):
        with tm.assert_produces_warning(FutureWarning):
>           dtype = indices.dtype_str

pandas/tests/indexes/multi/test_format.py:12: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <contextlib._GeneratorContextManager object at 0x7f7c257816d8>
type = None, value = None, traceback = None

    def __exit__(self, type, value, traceback):
        if type is None:
            try:
>               next(self.gen)
E               AssertionError: Did not see expected warning of class 'FutureWarning'.

../../../miniconda3/envs/pandas-dev/lib/python3.5/contextlib.py:66: AssertionError
_________________________ test_dtype_str[Float64Index] _________________________
[gw1] linux -- Python 3.5.3 /home/vsts/miniconda3/envs/pandas-dev/bin/python

indices = Float64Index([   -6.347058398417021,    -6.262806416732624,
                 -6.174910451390159,    -5.948853709906052...3281073194,
                  3.275746455639256,    3.3155597319804464],
             dtype='float64', name=('A', 'B'))

    def test_dtype_str(indices):
        with tm.assert_produces_warning(FutureWarning):
>           dtype = indices.dtype_str

pandas/tests/indexes/multi/test_format.py:12: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <contextlib._GeneratorContextManager object at 0x7f7c25f16e10>
type = None, value = None, traceback = None

    def __exit__(self, type, value, traceback):
        if type is None:
            try:
>               next(self.gen)
E               AssertionError: Did not see expected warning of class 'FutureWarning'.

../../../miniconda3/envs/pandas-dev/lib/python3.5/contextlib.py:66: AssertionError
____________________________ test_dtype_str[Index2] ____________________________
[gw1] linux -- Python 3.5.3 /home/vsts/miniconda3/envs/pandas-dev/bin/python

indices = Index([True, False], dtype='object', name=('A', 'B'))

    def test_dtype_str(indices):
        with tm.assert_produces_warning(FutureWarning):
>           dtype = indices.dtype_str

pandas/tests/indexes/multi/test_format.py:12: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <contextlib._GeneratorContextManager object at 0x7f7c2578b9e8>
type = None, value = None, traceback = None

    def __exit__(self, type, value, traceback):
        if type is None:
            try:
>               next(self.gen)
E               AssertionError: Did not see expected warning of class 'FutureWarning'.

../../../miniconda3/envs/pandas-dev/lib/python3.5/contextlib.py:66: AssertionError
_______________________ test_dtype_str[CategoricalIndex] _______________________
[gw1] linux -- Python 3.5.3 /home/vsts/miniconda3/envs/pandas-dev/bin/python

indices = CategoricalIndex(['keX3', 'vyCd', 'keX3', '7Fz9', 'keX3', 'vyCd', '7Fz9',
                  'keX3', 'vyCd', '7Fz9', 'v...vyCd', 'vyCd'],
                 categories=['7Fz9', 'keX3', 'vyCd'], ordered=False, name=('A', 'B'), dtype='category')

    def test_dtype_str(indices):
        with tm.assert_produces_warning(FutureWarning):
>           dtype = indices.dtype_str

pandas/tests/indexes/multi/test_format.py:12: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <contextlib._GeneratorContextManager object at 0x7f7c24c59390>
type = None, value = None, traceback = None

    def __exit__(self, type, value, traceback):
        if type is None:
            try:
>               next(self.gen)
E               AssertionError: Did not see expected warning of class 'FutureWarning'.

../../../miniconda3/envs/pandas-dev/lib/python3.5/contextlib.py:66: AssertionError
________________________ test_dtype_str[IntervalIndex] _________________________
[gw1] linux -- Python 3.5.3 /home/vsts/miniconda3/envs/pandas-dev/bin/python

indices = IntervalIndex([(0.0, 1.0], (1.0, 2.0], (2.0, 3.0], (3.0, 4.0], (4.0, 5.0] ... (95.0, 96.0], (96.0, 97.0], (97.0, 98.0]..., (99.0, 100.0]],
              closed='right',
              name=('A', 'B'),
              dtype='interval[float64]')

    def test_dtype_str(indices):
        with tm.assert_produces_warning(FutureWarning):
>           dtype = indices.dtype_str

pandas/tests/indexes/multi/test_format.py:12: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <contextlib._GeneratorContextManager object at 0x7f7c24f8f6d8>
type = None, value = None, traceback = None

    def __exit__(self, type, value, traceback):
        if type is None:
            try:
>               next(self.gen)
E               AssertionError: Did not see expected warning of class 'FutureWarning'.

../../../miniconda3/envs/pandas-dev/lib/python3.5/contextlib.py:66: AssertionError
____________________________ test_dtype_str[Index3] ____________________________
[gw1] linux -- Python 3.5.3 /home/vsts/miniconda3/envs/pandas-dev/bin/python

indices = Index([], dtype='object', name=('A', 'B'))

    def test_dtype_str(indices):
        with tm.assert_produces_warning(FutureWarning):
>           dtype = indices.dtype_str

pandas/tests/indexes/multi/test_format.py:12: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <contextlib._GeneratorContextManager object at 0x7f7c25a62320>
type = None, value = None, traceback = None

    def __exit__(self, type, value, traceback):
        if type is None:
            try:
>               next(self.gen)
E               AssertionError: Did not see expected warning of class 'FutureWarning'.

../../../miniconda3/envs/pandas-dev/lib/python3.5/contextlib.py:66: AssertionError
__________________________ test_dtype_str[MultiIndex] __________________________
[gw1] linux -- Python 3.5.3 /home/vsts/miniconda3/envs/pandas-dev/bin/python

indices = MultiIndex([('foo', 1),
            ('bar', 2),
            ('baz', 3)],
           )

    def test_dtype_str(indices):
        with tm.assert_produces_warning(FutureWarning):
>           dtype = indices.dtype_str

pandas/tests/indexes/multi/test_format.py:12: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <contextlib._GeneratorContextManager object at 0x7f7c257815f8>
type = None, value = None, traceback = None

    def __exit__(self, type, value, traceback):
        if type is None:
            try:
>               next(self.gen)
E               AssertionError: Did not see expected warning of class 'FutureWarning'.

../../../miniconda3/envs/pandas-dev/lib/python3.5/contextlib.py:66: AssertionError
_________________________ test_dtype_str[Int64Index1] __________________________
[gw1] linux -- Python 3.5.3 /home/vsts/miniconda3/envs/pandas-dev/bin/python

indices = Int64Index([0, 0, 1, 1, 2, 2], dtype='int64', name=('A', 'B'))

    def test_dtype_str(indices):
        with tm.assert_produces_warning(FutureWarning):
>           dtype = indices.dtype_str

pandas/tests/indexes/multi/test_format.py:12: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <contextlib._GeneratorContextManager object at 0x7f7c24c7ce10>
type = None, value = None, traceback = None

    def __exit__(self, type, value, traceback):
        if type is None:
            try:
>               next(self.gen)
E               AssertionError: Did not see expected warning of class 'FutureWarning'.

../../../miniconda3/envs/pandas-dev/lib/python3.5/contextlib.py:66: AssertionError
-------- generated xml file: /home/vsts/work/1/s/test-data-multiple.xml --------
```

</details> I think just started today? They're unfortunately consistent :/ First failure on master I see is https://dev.azure.com/pandas-dev/pandas/_build/results?buildId=13742

These were maybe touched in https://github.com/pandas-dev/pandas/pull/27106 I can reproduce locally with

```
pytest --count=2 pandas/tests/indexes/multi/test_format.py::test_dtype_str -v -x
```

so some kind of inter-test dependency issue. Ah of course, because we cache_readonly it. Removing that now. FYI merging on green.