[WIP] Studio library view tests

Good question. The answer is "not necessarily". The reason is that the `LibraryList` class mostly describes the *field* not the value. Its only behaviour is that it has the methods `from_json(self, values)` and `to_json(self, values)`. Notice that these methods require a `values` parameter, which has the actual data (the `list`) - the data is not in `self`.

Take a look at [the XBlock `List` class](https://github.com/edx/XBlock/blob/master/xblock/fields.py#L676), which is similar - it uses plain old lists.

`LibraryVersionReference` is quite different. It's not describing an XBlock field, and it doesn't have the `to/from_json(self, values)` API that XBlock fields do. It is a value type and so whenever its data is not encoded as JSON, it should be an instance of `LibraryVersionReference`.