Added System Facts generator method.

When creating a new system via the API, one can also specify system
`facts` so that information about the underlying operating system and
hardware can be processed and displayed by the web ui. Furthermore, this
type of information is used internally by `Candlepin` to determine
whether your `Satellite` system has enough (and the right type of)
subscriptions to make your system fully compliant.
Just some curiosities about the copy:

```python
In [1]: CONSTANT = {'some': {}, 'mutables': []}

In [2]: c = CONSTANT.copy()

In [3]: c['some']['test'] = 'something'

In [4]: CONSTANT
Out[4]: {'mutables': [], 'some': {'test': 'something'}}

In [5]: c['mutables'].append('somethingelse')

In [6]: CONSTANT
Out[6]: {'mutables': ['somethingelse'], 'some': {'test': 'something'}}

In [7]: import copy

In [8]: CONSTANT = {'some': {}, 'mutables': []}

In [9]: c = copy.deepcopy(CONSTANT)

In [10]: c['some']['test'] = 'something'

In [11]: c['mutables'].append('somethingelse')

In [12]: CONSTANT
Out[12]: {'mutables': [], 'some': {}}

In [13]: c
Out[13]: {'mutables': ['somethingelse'], 'some': {'test': 'something'}}
```