Fixing fragment transactions after finally understanding it a bit

Making back work on fragment is complex and confusing to the user. So
instead of adding it to backstack, just hide it and the next time same
fragment is selected, show it. The only problem comes if there are too
many fragments attached to the activity. Have to have LRU cache of
fragments and create remove transaction on older ones.