lib: API çağrıları için basitçe wget kullan

- Curl Github'ta SSL sorunlu.  Sistemde kurulu bir sertifika olmasına rağmen
  bunu kullanamıyor.  Ya açıkça dosya belirtmemiz gerekiyor ki sertifika
  üreticisi değiştiğinde dosya yolu da değişir, ya da -k seçeneğiyle güvensiz
  kullanmamız gerekiyor.

- Perl IO::Socket::SSL modülünü kullanabiliriz.  Yeni bir bağımlılık ve Perl
  betiği gerektiriyor.

Buna göre mevcut durumda en sorunsuz seçenek wget.  Üstelik standart olarak
kurulu geliyor.  Sadece komut satırı seçenekleri (-q -O-) biraz kriptik.

Örnek kullanım:

	$ wget -q -O- https://api.github.com/users/roktas
bin: Kitaplık değişikliğine uyarla
vim: Folyo kısayolları ekle

- `f9` Düzenlenmekte olan folyo dosyasını derle

- `f10` Düzenlenmekte olan folyo dosyasını görüntüle
vim: markdown renklendirmesinde pre alanları 8 boşlukla başlasın

Aksi halde liste maddelerinde devam paragraflarıyla çakışıyor.
vim: yaifa eklentisini çıkar

Bu eklenti pek çok beklenmedik soruna yol açıyor.  Girintilemenin açılan
dosyadan örnek alarak belirlenmesi güzel fikir fakat yan etkileri büyük.

Lütfen "Kurulum Görevleri" → "Vim Eklentiler Kur"u çalıştırarak bu değişikliği
etkinleştirin (eklenti bu işlem sonunda silinmiş olacak).
vim: markdown tip eklentisini geliştir

- Başlık ve madde imlerinden sonra gelen metni 4'ncü sütuna hizalamaya zorla
  (Gerekçeleri http://fo.roktas.me/fo-intro dokümanında)

- Kodlar artık standart olarak 8 boşluk girintiyle başlasın.
vim: markdown renklendirmesini geliştir

19/x ile tema bütünlüğünü sağla.
vim: markdown ayarlarını bu kısımdan çıkar
lib: API çağrılarında SSL denetimlerini pas geç (fixes #34)

SSL sorunlarından dolayı wget'i kullanmıştık.  Fakat eski wget sürümlerinde
sorun çıkıyor.

Örneğin an itibarıyla Debian Sid ile gelen wget sürüm 1.13.4'de sorun yok; aáma
öte yandan Ubuntu 11.10'da wget sürüm 1.12'de sorun var.

Bu wget (veya curl) oturuncaya kadar tüm API çağrılarını `curl -k` ile
yapıyoruz
bin: x'i tekrar üret
lib: JSON verisini UTF-8 kodlamayı unutma (really fixes: #34)
bin: kitaplık değişikliğine uyarla
lib: PATH ayar mekanizmasını değiştir

Bu eski bir sorun, ancak şimdi ilgilenme fırsatı bulduk.

Önceden `PATH` yerine `X_PATH` değişkeninin kullanılmasını öneriyorduk.  Örneğin
PATH'e ekleme yapmak için `~/etc/init/*-local` dosyasında:

	export X_PATH=$X_PATH:ekleme

satırı gibi.  Daha sonra her kabuk ilklendirmesinde devreye giren ~/lib/x
betiğiyle `X_PATH`'teki değişikliği `PATH`'e aktarıyorduk.

Bunun temel gerekçesi `PATH` gibi önemli bir değişkenin hata eseri üzerine
yazılmasını engelleme ve tekrarlı olarak devreye giren ilklendirme
mekanizmasının yol açtığı tekrarlı PATH kayıtlarını engelleme idi.

Bu yaklaşım bir kaç açıdan çirkin ve sorunlu.  `PATH` gibi çok iyi bilinen bir
ortam değişkeni yerine `X_PATH` gibi özel ve kolayca unutulabilir bir değişken
kullanmak bir çirkinlik.  Bazı uç durumlarda, örneğin Midnight Commander'ın fork
edilmesi sırasında bu mekanizmanın devre dışı kalması da bir sorun.

Yeni bir düzenleme yaptık.  Artık ilklendirmelerde doğrudan `PATH` kullanıyoruz.
Tekrarlı PATH kayıtları sorununu (ki pek çok zaman zararsız bir sorun)
ilklendirme sırasında devreye giren yeni bir işlevle, `pathsqueeze` çözüyoruz.

Önceden yaptığınız `X_PATH`'li ayarları yeni düzene taşımanız gerekiyor, aksi
halde yaptığınız düzenleme etkin olmayacaktır.  Bu amaçla:

*   `~/etc/init/*-local` dosyasını açın

*   `X_PATH`'li ayar satırlarını şu şekilde değiştirin

	export PATH=$PATH:<ekleme>

    (`export` gerekmiyor ama yine de alışık olduğunuz şekilde yazabilirsiniz)

PATH düzenlemeleri için `pathsqueeze` dışında iki yeni işlevimiz daha var:

*   `pathappend` → `PATH`'e **tekrarsız ekleme** yapar.  Bu işlevi betiklerde
    kullanın, mekanizmayı basit  tutmak için bunun kullanımını zorunlu tutmadık.
    `PATH`'e yukarıdaki gibi ekleme yaptığınızda `pathsqueeze` devreye girerek
    tekrarları zaten önlüyor.

        pathappend ~/foo
	export PATH # <eski PATH>:~/foo

*   `pathprepend` → `PATH`'in **başına tekrarsız ekleme** yapar.  Örneğin sistemde
    kurulu bir program yerine değiştirdiğiniz bir sürümün çalışmasını istiyorsanız
    bu programın dosya yolunu `PATH`'te öne koymanız gerekir.  Bu tür durumlarda
    bu işlevi kullanabilirsiniz.

        pathprepend ~/foo
	export PATH # ~/foo:<eski PATH>

    Kabuk yapılandırmasında yukarıda anlattığımız senaryo için bu işlevin kullanımı da
    zorunlu değil.  Bu işlevi betiklerde kullanın.  Aynı sonucu yapılandırma dosyasında
    şu şekilde elde edebilirsiniz:

	export PATH=<ekleme>:$PATH
x: kitaplık düzenlemesinden dolayı yeniden üret
fix #42
fix 43 - Türkçeleme görevini Ubuntu'nun yerelleştirme altyapısına uyarla

Yerel üretimini aslında daima locale-gen ile yapmak lazım, çünkü bu betik
dağıtımın tüm yerelleştirme işlerini biliyor.  Fakat sorun şu ki Debian
locale-gen ile Ubuntu'daki betik arasında önemli farklar var.  Bu nedenle yerel
üretimini elle yapma yolunu tercih etmiştik.  Bu yöntemin bir gün kırılacağı
açıktı ve nitekim de kırıldı.  Anlaşıldığı kadarıyla Ubuntu'da işler biraz
değişmiş.  Günü kurtaran bir değişiklik yapıyorum.  Test edilmesi lazım.
SSH ajanı aktif değilse yeni bir ajan oluştur fix #37

Bunu da test etmek lazım.
x: kitaplık değişikliği
lib: PATH ayarlarını düzelt

Önceki değişiklikte bir noktayı atlamışız: `core.sh`'ta Bash'e özgü bir kod
(örneğin array, hash veriyağıları Bash'e özgüdür) olamaz.  Çünkü bu kitaplık
modülü ilklendirmenin erken aşamalarında Dash tarafından da kullanılıyor.  O
halde PATH manipülasyonlarını yapan işlevleri bu modülde tutamayız.  Sonuç: bu
işlevleri kaldır ve sadece `pathsqueeze` işlevini `etc/init/9*` serisinde bir
dosyaya alarak PATH temizliğini en son aşamada hallet.

PATH ayarlarındaki değişikliklerle ilgili olarak önceki teslim notunda
yazdıklarım aynen geçerli.  Tek düzeltme: artık `pathappend`, `pathprepend`
işlevleri yok.

Tekrar edecek olursak.  Lütfen `X_PATH` ile yaptığınız ayarları (muhtemelen
`/etc/init/*-local` dosyasında) artık `PATH` üzerinden yapın.  Yani:

	export X_PATH=$X_PATH:<ekleme>

yerine

	export PATH=$PATH:<ekleme>
kitaplık değişikliğine uyarla