(NC) Working on registering components upon creation.

- Moving from template methods to methods using unique_id::value_type directly. I could move
    component creation to space, but I think I prefer having entities create them. This brings
    up the issue of entity vs space ownership of components again, may want to consider
    reworking if this method becomes too bad.
Itertaing over containers components instead of iterating over entities and getting components.

- Fixed major crash bug that hadn't popped up yet. When updating logic components they can add
    new entities and components. With an unordered_map (what I was iterating over before) this
    has a small chance of invalidating all iterators if a rehash happens. With a vector (what I
    am iterating over now) this has a 100% guarantee to invalidate all iterators if the vector
    grows. I am now filling a copying all logic components to a temp vector at the start and
    iterating over this. This adds consitency, as before when a new logic component was added
    it may or may not be updated that step depending on where in the hashmap it is placed; now
    it won't update until the next step.

Fixed crash bug that hadn't popped up yet.