Add Types module

Includes basic types for the game like the Level, Tasks, TaskQueue...
Add sample for Data.Sequence as Spec
Install libsdl in travis CI
Splitted up Types.hs and added more specs

You were right, separation into different files helps to separate concerns.

I have added a tile type that is the intersection of attributes of the Actor and
the StaticElement type. So you can define functions that have to work on both of
them over the tile type.

Actor    StaticElement  |  Actor    StaticElement
  |            |        |    |            |
  |   toTile   |        |    |   toTile   |
  `-----.------´        |    `-----.------´
        |               |          |
        v               |        render
      Tile              |          |
                        |          v
                        |         Char
Update Task and TaskSpec

- Add methods to query for task existence / coordinates
- Some specs for expected behavior of added methods
Add Queue

Simple Queue interface that wraps Data.Sequence
Integrate the new Queue interface

- Replace 'TaskQueue' with 'Queue Task'
- add some implementations for querying tasks in Level.hs
Clean whitespace in cabal file
Implement numberOfTasks in Level
Update TaskSpec to use different default level

The old level was supposed to be created via Level.fromString which is
undefined atm
Add map from identifier to coords and implement getTask
Merge branch 't-types' into develop

Conflicts:
	.travis.yml
	gnome-citadel.cabal
Change level creation spec to pending

So that the build finally passes
Refactor the getTask method to make it cleaner
Explicit hspec version

Tries to fix travis issue with building the tests
Add function to create an empty level
Add priority queue package
Start on path finding module
Added maps for tiles for better accessibility

The actor and staticElement field of level are now maps from identifiers to the
actual data. This gives a level the ability to identify a tile by its id.

I also added a coordinate to list of identifier map. This allows to get all
tiles that locates at a specific coordinate.
added fromString, which creates a level from a string

The fromString function takes also a TileBuilder, which translates
individual chars from the level string to either actors or static
elements.

I extracted the functionality of getting the next free id from
createTask into its own function. The function freshID returns the next
free id and increments the appropriate field in the level type.